Давайте разберем это:
json.forEach(function(val,idx,arr){
forEach
принимает функцию.Первый аргумент - это одно из значений объекта, который повторяется.Второй и третий аргументы - это текущий индекс и сам массив, который вам нужен, если вы хотите возиться с массивом во время его итерации.
В этом случае функция будет получать все сохраненные данные.в объекте json
, по одному за раз.
if(val[key] == value){
val
- это объект.val[key]
означает «с val
, получить свойство с именем key
».
result.push(val)
Если свойство val
key
было равно значению, которое мыОтфильтровывая, мы помещаем объект val
в список возвращаемых вещей.
Я думаю, что смысл путаницы заключается в значении val[key]
.Синтаксис []
используется как для индексации в массив (arr[0]
получает первое в списке), так и для получения свойства объекта (foo[bar]
получает foo.bar
)