【发布时间】:2021-08-21 23:47:56
【问题描述】:
我有一个数组,我想将它的变量存储在文件中,因为我在 map 函数之外声明了文件
let object = [
{
id: '01',
name: 'Subject',
'Data.type': 'maths',
},
{
id: '02',
name: null,
'Data.type': 'science',
},
{
id: '04',
name: 'language',
'Data.type': 'node',
},
{
id: '05',
name: null,
'Data.type': 'node',
},{
id: '01',
name: 'Subject',
'Data.type': 'maths',
},
{
id: '02',
name: 'Subject',
'Data.type': 'science',
},
{
id: '04',
name: null,
'Data.type': 'node',
},
{
id: '05',
name: null,
'Data.type': 'node',
}
];
let names=[];
object.map((value) => {
if(typeof value.name === "string"){
names.push(value.name);
console.log(names);
}
//some code here
//code here
// use of names to perform some task
})
值是这样打印的
["subject"]
["subject",
"language"]
["subject",
"language",
"subject"]
["subject",
"language",
"subject",
"subject"]
有没有可能它应该只在 map 函数中运行 1 次,其中包含完全加载的值,所以我可以在 map 函数中执行任务
files= ["subject",
"language",
"subject",
"subject"]
【问题讨论】:
-
是的 -
let names = object.map((value) => { ... })然后console.log(names); -
为什么不把
console.log移到map之外呢?还有为什么是map而不是forEach? -
嗨@GuerricP,因为我需要其他键值来执行某些任务,这就是我使用地图功能的原因
标签: javascript node.js arrays object nodes