[英]How to get a single element array from a multiple element array of object?
這是我的數組:
mapping = [{sl_no : 1, type : "A", parent : ""},{sl_no : 2, type : "B", parent : "A"},{sl_no : 3, type : "D", parent : "B"}]
我想要以下格式的數組:
mapped_sl_no = [{sl_no : 1},{sl_no : 2},{sl_no : 3}]
地圖是你的朋友...
var mapped = mapping.map(function(item) { return item.sl_no; });
我建議將Array#map()
與內部的臨時對象一起使用。
var mapping = [{ sl_no: 1, type: "A", parent: "" }, { sl_no: 2, type: "B", parent: "A" }, { sl_no: 3, type: "D", parent: "B" }], mapped_sl_no = getMapped(mapping, 'sl_no'); function getMapped(array, k) { return array.map(function (a) { var o = {}; o[k] = a[k]; return o; }); } document.write('<pre>' + JSON.stringify(mapped_sl_no, 0, 4) + '</pre>');
具有map
功能的解決方案:
var mapping = [{sl_no : 1, type : "A", parent : ""},{sl_no : 2, type : "B", parent : "A"},{sl_no : 3, type : "D", parent : "B"}];
var arr = mapping.map(function(obj){
return {'sl_no': obj.sl_no};
})
console.log(arr); // the output is: [{sl_no : 1},{sl_no : 2},{sl_no : 3}]
var mapped_sl_no = [];
mapping.forEach(function(mapVal){
mapped_sl_no.push({sl_no:mapVal.sl_no});
});
這應該為您做。
另外,您可以使用下划線( http://underscorejs.org/ )或lowdash( https://lodash.com/ )之類的庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.