#javascript #arrays
#javascript #массивы
Вопрос:
dynamicFields = {
column1: {label: "cols1" type: "FLOAT"}
column2: {label: "cols1" type: "FLOAT"}
}
пытаюсь найти значение, но по какой-то причине это не работает
_.find(dynamicFields, {key: column1})==undefined? true : false
Комментарии:
1. оба
column1
amp;column2
неверны2. Вам не хватает
, in your
column1` иcolumn2
свойств3. Неправильный формат JSON
4. Не должно ли это:
{key: column1}
быть так:{key: 'column1'}
?5. Это не массивы и не объекты JSON, а объектные литералы javascript (которые выглядят как объекты JSON, но имеют более свободные правила форматирования). решение ellipsis должно хорошо работать. Примечание: вы получаете отрицательные отзывы, вероятно, потому, что Stack Overflow ожидает дополнительных исследований, прежде чем задавать вопрос (см. idownvotedbecau.se/noresearch )
Ответ №1:
Используйте Object.values()
, чтобы получить все значения в массиве, map
это и используйте Object.entries
для отдельных объектов, чтобы получить ключ и значения в массиве. Ваш объект JSON также находится в неправильном формате
var dynamicFields = {
column1: {
label: "cols1",
type: "FLOAT"
},
column2: {
label: "cols1",
type: "FLOAT"
}
}
console.log(Object.values(dynamicFields).map(e => Object.entries(e)))