![](/img/trans.png)
[英]I am trying to push some values from an object into a 3 dimensional array
[英]I am trying to push values from an object inside an array
我正在嘗試推送來自對象(鍵/值)數組的數據,然后將其推送到數組中,以便稍后顯示它們。
我已經嘗試過在數組內部進行推送,但到目前為止,對於推送的項目總數,它始終未定義。
//array
var clients_array = '[{"code": "1", "name": "client 1"},
{"code": "2", "name": "client 2"}, {"code": "3", "name": "client 3"}]';
var displayClient = [];
var json_parse1 = JSON.parse(clients_array);
json_parse1.forEach(function(client){
console.log(client.code + ' - ' + client.name);
displayClient.push(client.code + ' - ' + client.name);
alert(displayClient[i]);
})
使用上面的代碼,在console.log中,我獲得了想要推送的正確數據。 但是,當警告displayClient數組(在這種情況下應使用console.logged數據填充)時,它會為每個數據顯示未定義。 因此,我想推送console.log中顯示的正確數據。
您需要在回調函數中為i
添加一個參數。
json_parse1.forEach(function (client, i) {
^
var clients_array = '[{"code": "1", "name": "client 1"}, {"code": "2", "name": "client 2"}, {"code": "3", "name": "client 3"}]'; var displayClient = []; var json_parse1 = JSON.parse(clients_array); json_parse1.forEach(function (client, i) { console.log(client.code + ' - ' + client.name); displayClient.push(client.code + ' - ' + client.name); alert(displayClient[i]); }) console.log(displayClient);
更好的方法是使用Array#map
並返回新項目。
var array = [{ code: "1", name: "client 1" }, { code: "2", name: "client 2" }, { code: "3", name: "client 3" }], displayClient = array.map(({ code, name }) => [code, name].join(' - ')); console.log(displayClient);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.