#javascript #html #web
#javascript #HTML #веб
Вопрос:
у меня есть ArrayObject :
[{"text": "blabla" , "label": 0.34}, {"text":"lablab", "label":0.12},{"text":"ababab", "label":0.89}]
я хочу отображать в javascript только данные с «меткой»> 0.3
я хочу иметь на выходе :
[{"text": "blabla" , "label": 0.34},{"text":"ababab", "label":0.89}]
Комментарии:
1. Используйте
Array.map()
и возвращайте в результирующий массив только те объекты, которые соответствуют вашим критериям.2. @ScottMarcus —
filter
я полагаю, вы имеете в виду (неmap
)?
Ответ №1:
Вы можете сделать это с помощью простого Array.filter
. Я деконструировал объект и сравнил метку с целевым значением.
console.log([{"text": "blabla" , "label": 0.34}, {"text":"lablab", "label":0.12},{"text":"ababab", "label":0.89}].filter(({text, label}) => label > 0.3))
Комментарии:
1. но у меня есть ошибка TypeError: не удается прочитать свойство ‘filter’ неопределенного значения в HTMLInputElement.<анонимный>
Ответ №2:
Вы можете использовать функцию более высокого порядка, вызываемую filter
для решения этой проблемы.
Перейдите по этой ссылке, чтобы получить руководство: функции более высокого порядка: Как использовать filter, map и reduce
В основном синтаксис array.filter(key => key.label > 0.3)
Комментарии:
1. Это было бы
key.label > 0.3
, неkey.label > 3.0
2. Ops, извините! Я исправил!