爲什麼'values'數組不包含'results'中每個項目的'Title'?未按預期向陣列添加javascript映射函數
以下代碼輸出:1, 2, 3, 3, 3, 3
而不是所需的:1, 2, 3, 1, 2, 3
。
var results = [
{Title: '1'},
{Title: '2'},
{Title: '3'},
];
var fields = {
Title: { Name:"Title", Required:true},
Description: { Name:"Description", Required:false}
};
var values = [];
results.map(function(result, i){
values[i] = fields;
Object.keys(result).map(function(key, index) {
values[i][key].Value = result[key];
});
console.log(values[i].Title.Value);
});
values.map(function(value){console.log(value.Title.Value)});
如果你不使用它的結果,爲什麼地圖? –
我認爲你在這裏混合* map *和* forEach * ... – Robert
因爲你有一個對象的引用,而不是它的副本。 – epascarello