xen*_*urs -3 javascript arrays
我构建了几个包含对象的数组,我想要的是构建一个包含每个对象的新数组.这是我的代码:
for(i = 0; i < tabuser.length; i++){
var urls = [];
urls.push({
url: JSON.stringify("https://cubber.zendesk.com/api/v2/users/"+tabuser[i].id+"/tickets/requested.json")
});
console.log(urls);
Run Code Online (Sandbox Code Playgroud)
这是我的 console.log(urls)
我想要这样的东西:
[
{ newurl: 'ajax1.html' },
{ newurl: 'ajax2.html' },
{ newurl: 'ajax3.html' }
]
Run Code Online (Sandbox Code Playgroud)
您正在每个循环中重新创建数组.请改用以下内容:
var urls = [];
for(i = 0; i < tabuser.length; i++){
urls.push({url:JSON.stringify("https://cubber.zendesk.com/api/v2/users/"+tabuser[i].id+"/tickets/requested.json")});
}
console.log(urls);
Run Code Online (Sandbox Code Playgroud)
之前移动数组声明for.如果保留在for变量中,则将为每次迭代的数组初始化变量,并且将刷新其中的先前数据.
var urls = []; // <--- Move it here
for(i = 0; i < tabuser.length; i++) {
urls.push({
url: JSON.stringify("https://cubber.zendesk.com/api/v2/users/" + tabuser[i].id + "/tickets/requested.json")
});
}
console.log(urls);
Run Code Online (Sandbox Code Playgroud)
作为选项,您也可以使用Array#map.还要注意的是没有必要的JSON.stringify,如果id是原始的.
var urls = tabuser.map(obj => ({
url: "https://cubber.zendesk.com/api/v2/users/" + obj.id + "/tickets/requested.json"
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |