簡體   English   中英

如果存在多個值,則對數組進行過濾以僅返回一個值

[英]Filter through array to return only one value if more than one exists

我想通過一個數組進行過濾,如果存在多個城市名稱,則僅返回一個城市名稱。

例如,底部代碼的理想輸出為:

紐約

俄亥俄州

火星

----這是當前輸出----

紐約

俄亥俄州

紐約

火星

var people = [{
    name: "jack",
    age: 22,
    city: "new york"
}, {
    name: "john",
    age: 35,
    city: "ohio"
}, {
    name: "travis",
    age: 21,
    city: "new york"
}, {
    name: "david",
    age: 42,
    city: "mars"
}];

for (var i = 0; i < people.length; i++) {
    console.log(people[i].city);   
}

jsfiddle: http : //jsfiddle.net/q3nj6ey1/1/

如果城市不存在,請添加到新陣列中。

var cities  = [];
var numPeople = people.length;
for (var i = 0; i < numPeople; i++) {
    if(cities.indexOf(people[i].city) == -1){
        cities.push(people[i].city);
    }
}

然后,您可以根據需要打印數組:

for(var i=0;i<cities.length;i++){
    console.log(cities[i]);
}

暫無
暫無

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

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