Я пытаюсь использовать underscoreJs для манипулирования объектом JavaScript и проблемы с этим.Глубокий выбор с использованием Underscore.JS
Вот мой пример
var data = {
"label": "SomeName",
"parent": [{
"id": "parentId",
"resources": [{
"name": "ID1NAME",
"calls": [
"user_get", "user2_post", "user3_delete"
]
}, {
"name": "ID2",
"calls": [
"employee1_get", "employee2_delete", "employee3_update"
]
}]
}]
};
var res = _(data).chain().
pluck('parent').
flatten().
findWhere(function(item){
item === "user_get"
}).
value();
console.log(res);
Используя элемент, который является частью data.parent.calls[]
(например: "user_get") Я хотел бы, чтобы извлечь его родительский объект, то есть data.parent[0]
.
Я пробовал выше, но всегда получаю неопределенный. Я ценю любую помощь по этому поводу.
У вас есть шанс обернуть ваш JSON в массив? Поскольку Underscore использует коллекции (которые содержат массив, поддерживающий все типы объектов), запись вашего JSON в массив решит вашу проблему. https://codepen.io/anon/pen/WGroRm?editors=0011 – Aer0
@torazburo Спасибо за ваше предложение. Я точно знаю значение parse и JSON. Возможно, я неправильно использовал слово parse, но мое намерение назвать его документом JSON верным, поскольку я работал над документом JSON. Я привел пример, пропуская часть, в которой JSON-документ разбирается в объект Javascript. Кроме того, с должным уважением, использование слова, которое вы использовали, неверно, извлечение было бы приятным. Я уважаю других :) –