2016-11-02 6 views
-2

Допустим, у меня есть объектПроверить объект для недвижимости

var person = [{ 
    name: 'true', 
    city: 'false' 
}] 

и у меня есть предопределенный список имен свойств я хотел бы проверить против

let props = ['name', 'address'] 

Как я могу использовать lodash _.includes проверить ?

Я пробовал вариацию следующий без толка, все вернуть ложные

_.includes(person, [props]); 
_.includes(person, 'name'); 
_.includes([person], 'name'); 
+2

'person' массив – ASDFGerte

+0

@ASDFGerte до сих пор получить ложные – chefcurry7

+0

Вы просто не можете сделать это с' _.includes'. Вы можете использовать '_.has' на объекте, если объект обладает свойством. Тем не менее, я даже не уверен, отвечает ли это на ваш вопрос, так как я не уверен, какую проверку вы хотите сделать. – vlaz

ответ

0

- ОБНОВЛЕНО - Учитывая ваше обновленное описание, это то, что код будет выглядеть, чтобы получить результаты, которые вы желание.

const person = [{ 
 
    name: 'true', 
 
    city: 'false' 
 
}]; 
 
const props = ['name','address']; 
 
let found = []; 
 

 
Object.keys(person[0]).forEach(key => { 
 
    if(props.includes(key)) found.push(key) 
 
}); 
 

 
// Found now contains ['name']

+0

извините за недоразумение. просто хотел проверить значения всех свойств в person1, будь то true или false, и взять все истины и поместить их в массив. поэтому в моем примере я должен вернуть массив с [name], потому что он был найден и является истинным. – chefcurry7

+0

человек - это массив, а не объект. Планируете ли вы вставить несколько объектов в массив person? – CarlosA

+0

неважно, решено – chefcurry7

Смежные вопросы