Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象不可编辑-NodeJS_Javascript_Node.js - Fatal编程技术网

Javascript 对象不可编辑-NodeJS

Javascript 对象不可编辑-NodeJS,javascript,node.js,Javascript,Node.js,我下面的NodeJS程序在我试图打印它们时给了我一个错误,它在dataGood处停止,因为它不可编辑 JSON 剧本 错误 客观的 我想将JSON中的“name”和“user”放入这两个数组中,并用逗号将它们分开 //After script runs nameGood = ['something','cool'] userGood = ['Awesome','Great'] 或 要迭代对象,必须使用循环 解决方案 谢谢大家的帮助 为什么要迭代对象?你期望发生什么?注意两者之间的区别,然后

我下面的NodeJS程序在我试图打印它们时给了我一个错误,它在
dataGood
处停止,因为它不可编辑

JSON 剧本 错误 客观的 我想将JSON中的“name”和“user”放入这两个数组中,并用逗号将它们分开

//After script runs
nameGood  = ['something','cool']
userGood  = ['Awesome','Great']


要迭代对象,必须使用循环

解决方案
谢谢大家的帮助

为什么要迭代对象?你期望发生什么?注意两者之间的区别,然后我该怎么做?“然后我该怎么做?”不清楚你想要实现什么。数据显示具有
名称
用户
属性的单个对象。您似乎正在访问循环中的两个属性(
element.name
element.user
)。看来没有什么需要迭代的了?没有对象数组,并且您似乎不希望逐个迭代每个属性。为什么会有这样的循环?所以需要
让nameGood=dataGood.name.split(',');让userGood=dataGood.user.split(',')。不需要循环。谢谢,但是如果名称和用户不是数组类型,我将无法使用toString()或split()函数。您的JSON显示它们是字符串<代码>{“name”:“something,cool”,“user”:“Awesome,Great”}
如果包含一个简短的解释,说明您的答案为什么有效,会更好。
让nameGood=dataGood.name.split(',');让userGood=dataGood.user.split(',')会简单得多。不需要循环。
if(fs.existsSync('./data/data.json')){
  let data =  fs.readFileSync('./data/data.json');
  let dataGood = JSON.parse(data);
  let nameGood = [];
  let userGood = [];
  for(const element of dataGood){
      let name = [] = element.name;
      let user = [] = element.user;
      let nameSplit = name.toString().split(',')
      let userSplit = user.toString().split(',');
      nameGood = nameSplit;
      userGood = userSplit;
  }
console.log(nameGood, userGood)
}
TypeError: dataGood is not iterable
//After script runs
nameGood  = ['something','cool']
userGood  = ['Awesome','Great']
for(const [key, value] of Object.entries(dataGood)){
      ...
  }
for(const element of Object.keys(dataGood)){
      ...
  }
for(const element in dataGood){
      let name = element.name;
      let user = element.user;
      nameGood.concat(name.split(','));
      userGood.concat(user.split(','));
}
  let data =  fs.readFileSync('./data/data.json');
  let dataGood = JSON.parse(data);
  let nameGood = [];
  let userGood = [];
   for (const [key,value] of Object.entries(dataGood)) {
       if(key == "name"){
      let name = [] = value; 
      let nameSplit = name.toString().split(',')
      nameGood = nameSplit;
    }
      if(key == "user")
      let user = [] = value;
      let userSplit = user.toString().split(',')
      userGood = userSplit;
    }
   }
console.log(nameGood, userGood)
}