1. ホーム
  2. javascript

[解決済み] オブジェクトの配列のプロパティ値が重複しているかどうかを確認するにはどうすればよいですか?

2023-01-02 15:25:40

質問内容

配列の反復処理について教えてほしいのですが、いつも行き詰ったり、車輪の再発明をしてしまいます。

values = [
    { name: 'someName1' },
    { name: 'someName2' },
    { name: 'someName1' },
    { name: 'someName1' }
]

配列に同じ名前の値が2つ(またはそれ以上)あるかどうかを確認するにはどうすればよいですか?カウンターは必要なく、配列の値が一意でない場合に何らかの変数を設定するだけです。配列の長さは動的であり、配列の値も動的であることに留意してください。

どのように解決するのですか?

使用方法 array.prototype.map array.prototype.some :

var values = [
    { name: 'someName1' },
    { name: 'someName2' },
    { name: 'someName4' },
    { name: 'someName2' }
];

var valueArr = values.map(function(item){ return item.name });
var isDuplicate = valueArr.some(function(item, idx){ 
    return valueArr.indexOf(item) != idx 
});
console.log(isDuplicate);