2015-09-10 136 views
1

使用香草的JavaScript(由Chrome瀏覽器的最新版本的支持,不用擔心IE)和/或lodash /下劃線但沒有jQuery的我怎麼能利用這個數組:的JavaScript對象中刪除從Array

[ 
    { 
    "id": 1, 
    "places": { 
     "city": "boston" 
    } 
    }, 
    { 
    "id": 2, 
    "places": { 
     "city": "new york" 
    } 
    } 
] 

...並刪除具有城市「波士頓」的整個對象:

[ 
    { 
    "id": 2, 
    "places": { 
     "city": "new york" 
    } 
    } 
] 

請記住該陣列可以有幾十項。謝謝!

http://plnkr.co/edit/JW3zd6A7OcmihM4CTh1D?p=preview

回答

4

一個你可以做到這一點的方法之一是使用過濾器。例如:

var dataWithoutBoston = data.filter(function (el) { 
    return el.places.city !== "boston"; 
}); 

,並使其可重複使用的,你可以有這樣的功能:

function removeFromCity(data, name) { 
    var result = data.filter(function (el) { 
    return el.places.city !== name; 
    }); 
    return result; 
}; 
+1

包裝你的功能,你可以設置城市選擇作爲參數 – maioman

+0

謝謝nersoh! – Ryan