簡體   English   中英

AngularJS-如何檢查特定鍵在數組中是否具有特定值

[英]AngularJS - How to check that a specific key has a specific value in an array

在Angular中,我有一個像這樣的數組:

$scope.colors =["blue","red","pink","yellow"];

還有另一個對象

$scope.cars=[{"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}];

我想做過濾器,這樣

<ul>
    <li ng-repeat="n in colors | filter:colorFilter">
    </li>
</ul>

在NG-重復只會顯示在元素$scope.colors ,由於價值觀的存在$scope.cars

換句話說,它只會顯示藍色紅色

提前致謝!

您可以使用map方法,該方法接受回調函數作為參數,以便從$scope.cars每個汽車項目中獲取所有顏色,然后使用Set構造函數以查找unique顏色。 然后,您必須使用filter功能。

然后,您必須使用filter功能。

 let colors =["blue","red","pink","yellow"]; let cars = [{"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}]; let uniqueColours= [...new Set(cars.map(c => c.color))]; const filteredColors = colors.filter(a=>uniqueColours.includes(a)); console.log(filteredColors); 

您可以單行執行此操作:

 const colors =["blue","red","pink","yellow"],cars = [{"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}], filteredColors = colors.filter(a => cars.map(a => a.color).includes(a)); console.log(filteredColors); 

沒有箭頭功能。

 const colors =["blue","red","pink","yellow"],cars = [{"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}], filteredColors = colors.filter(function(a){ return cars.map(function(c){ return c.color; }).includes(a)}); console.log(filteredColors); 

給定顏色汽車陣列,您可以通過以下方式過濾顏色

 var colors =["blue","red","pink","yellow"]; var cars=[ {"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}]; var filteredColors = colors.filter(color => cars.some(car => car.color === color)); console.log(filteredColors); 

如果您不能使用ES6,則應為:

 var colors =["blue","red","pink","yellow"]; var cars=[ {"brand":"Ford","color":"blue"},{"brand":"Ferrari","color":"red"},{"brand":"Rolls","color":"blue"}]; var filteredColors = colors.filter(function(color) { return cars.some(function(car) { return car.color === color; }); }); console.log(filteredColors); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM