Array.push 无法在使用节点 js 的 forEach 循环中工作/javascript
Array.push not working in forEach loop using node js / javascript
嗨,我是 node js 的新手,我正在尝试从 object
创建一个数组
data.forEach((title) => {
let array = [];
for (var i = 0; i <= data.length; i++) {
array.push(title.title.charAt(0).toUpperCase() + title.title.slice(1))
}
console.log(array);
//access.forEach((conf)=>{
// conf.title
// array
//})
})
<script>
let data = [{
title: "user",
fields: "required",
access: "done"
},
{
title: "root",
fields: "default",
access: "done"
},
{
title: "super Admin",
fields: "allready access",
access: "defualt"
},
{
title: "user1",
fields: "required",
access: "done"
},
{
title: "test user",
fields: "required",
access: "done"
},
]
</script>
因为我想要一个包含所有标题的数组,所以我可以在 access.forEach 方法中使用该数组字段,但我得到的是标题,但不在同一个数组中,而是作为不同的输出
预期输出
array = [User,Root,Super Admin,User1,Test user]
您传递给 forEach
的箭头函数会针对 data
数组中的每一项执行,这样您就可以为原始数组的每一项创建一个新数组 let array=[]
。您要么想在函数外声明数组:
let array=[];
data.forEach(item => {
array.push(item.title[0].toUpperCase() + item.title.slice(1));
})
甚至更好地使用 map
let titles = data.map(item => item.title[0].toUpperCase() + item.title.slice(1))
两种情况下的输出都是:
["User", "Root", "Super Admin", "User1", "Test user"]
您可以使用简单的 Array.map().
来实现这一点
工作演示:
let data = [{
title: "user",
fields: "required",
access: "done"
}, {
title: "root",
fields: "default",
access: "done"
}, {
title: "super Admin",
fields: "allready access",
access: "defualt"
}, {
title: "user1",
fields: "required",
access: "done"
}, {
title: "test user",
fields: "required",
access: "done"
}];
const array = data.map((obj) => obj.title.charAt(0).toUpperCase() + obj.title.slice(1));
console.log(array);
嗨,我是 node js 的新手,我正在尝试从 object
创建一个数组data.forEach((title) => {
let array = [];
for (var i = 0; i <= data.length; i++) {
array.push(title.title.charAt(0).toUpperCase() + title.title.slice(1))
}
console.log(array);
//access.forEach((conf)=>{
// conf.title
// array
//})
})
<script>
let data = [{
title: "user",
fields: "required",
access: "done"
},
{
title: "root",
fields: "default",
access: "done"
},
{
title: "super Admin",
fields: "allready access",
access: "defualt"
},
{
title: "user1",
fields: "required",
access: "done"
},
{
title: "test user",
fields: "required",
access: "done"
},
]
</script>
因为我想要一个包含所有标题的数组,所以我可以在 access.forEach 方法中使用该数组字段,但我得到的是标题,但不在同一个数组中,而是作为不同的输出
预期输出
array = [User,Root,Super Admin,User1,Test user]
您传递给 forEach
的箭头函数会针对 data
数组中的每一项执行,这样您就可以为原始数组的每一项创建一个新数组 let array=[]
。您要么想在函数外声明数组:
let array=[];
data.forEach(item => {
array.push(item.title[0].toUpperCase() + item.title.slice(1));
})
甚至更好地使用 map
let titles = data.map(item => item.title[0].toUpperCase() + item.title.slice(1))
两种情况下的输出都是:
["User", "Root", "Super Admin", "User1", "Test user"]
您可以使用简单的 Array.map().
来实现这一点工作演示:
let data = [{
title: "user",
fields: "required",
access: "done"
}, {
title: "root",
fields: "default",
access: "done"
}, {
title: "super Admin",
fields: "allready access",
access: "defualt"
}, {
title: "user1",
fields: "required",
access: "done"
}, {
title: "test user",
fields: "required",
access: "done"
}];
const array = data.map((obj) => obj.title.charAt(0).toUpperCase() + obj.title.slice(1));
console.log(array);