У меня есть два массива. Вот первый:Доступ к вложенному многомерному массиву в AngularJS
$scope.selection = {
"carrots",
"celery",
"corn",
"apples",
"bananas"
};
Вот второй:
$scope.shipment = [{
"id": "0",
"name": "vegetables",
"manifest": [{"carrots", "celery", "corn"}]
}, {
"id": "1",
"name": "produce",
"manifest": [{"apples", "carrots", "bananas"}]
}];
Я хотел бы быть в состоянии видеть, если совпадение существует во втором массиве, как я итерацию через первый. До сих пор, я могу использовать JQuery inArray
, чтобы соответствовать индексированный элемент во втором массиве:
if ($.inArray($scope.shipment.manifest[0], $scope.selection) < 0) { console.log($scope.shipment.id) };
// for "carrots"
=> "0"
Но так как «морковь» находится в двух позициях индекса в массиве отгрузки, выше будет возвращать только первый идентификатор отгрузки.
Как я могу получить обе партии?
Вы можете использовать функцию .filter в JavaScript. Это вернет все элементы, соответствующие вашему выражению. – thsorens