Как проверить массив JSON содержит повторяющиеся значения в Nodejs? - PullRequest
0 голосов
/ 03 мая 2019
var values = {[
    { name: 'jerem' },
    { name: 'jio' },
    { name: 'paul' },
    { name: 'jio' }}
];

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

Как написать приведенный выше код, используя обещание all и async?может кто-нибудь помочь мне здесь

Ответы [ 2 ]

0 голосов
/ 03 мая 2019
const filtered = values.filter(ele => ele.name == "YOUR_CONDITION");
if(filtered.length > 1){
  // array contains duplicate elements.
}
0 голосов
/ 03 мая 2019

Существует множество решений для поиска дублирующихся объектов в массиве.

Решение 1:

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

// solution
var hasDuplicate = false;
values.map(v => v.name).sort().sort((a, b) => {
  if (a === b) hasDuplicate = true
})
console.log('hasDuplicate', hasDuplicate)

Решение 2: Если вы находитесь в среде, которая поддерживает набор ECMA Script 6,тогда вы можете использовать Array.prototype.some и объект Set, например,

let seen = new Set();
var hasDuplicates = values.some(function(currentObject) {
    return seen.size === seen.add(currentObject.name).size;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...