-1
我有一個名爲x
的數組。它包含三個字段的對象。我如何能讓另一個陣列 調用xmini
與x
相同,但是缺少名爲c
的字段?如何從對象數組中刪除一個字段?
var x = [
{ a : 1, b : 2, c : 3 },
{ a : 3, b : 4, c : 5 }
];
我有一個名爲x
的數組。它包含三個字段的對象。我如何能讓另一個陣列 調用xmini
與x
相同,但是缺少名爲c
的字段?如何從對象數組中刪除一個字段?
var x = [
{ a : 1, b : 2, c : 3 },
{ a : 3, b : 4, c : 5 }
];
此方法不會影響原始的x
對象。
var xmini = [],
tmpObj = {};
for (var i = 0; i < x.length; i++) {
for (var key in x[i]) {
if (key !== 'c') {
tmpObj[key] = x[i][key];
}
}
xmini.push(tmpObj);
tmpObj = {};
}
您應該嘗試更具體地瞭解您嘗試過的以及您試圖完成的任務。對你的問題的另一個有效答案(就像你說的那樣)很簡單:var xmini = [{a = 1, b = 2}, {a = 3, b = 4}];
,但是我認爲你需要一個函數來以編程方式創建這個新對象,而不需要改變原始對象,也不需要知道任何關於原始對象的其他屬性。
我很想回答:'var xmini = [{a = 1,b = 2},{a = 3,b = 4}];' – AnalogWeapon
實際問題是什麼? –
如果你所需要的只是''''回來'未定義',那麼你可以使用protoypal繼承。 'x.map(function(o){return Object.create(o,{c:{value:undefined}});});'完全取決於你如何使用數據。 –