簡體   English   中英

如何從對象的多元素數組中獲取一個元素數組?

[英]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.

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