這是我的數組:如何從一個多元素的對象數組中獲取單個元素數組?
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}]
這是我的數組:如何從一個多元素的對象數組中獲取單個元素數組?
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}]
Map是你的朋友?
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>');
謝謝大家的解決方案。 –
@HassanAhamed,請投票並接受你最幫助的答案。 –
解決方案與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/)
確切你想要的東西放在這裏 - >>>> VAR映射= mapping.map(函數(項目){{回報sl_no:項目.sl_no};}); –