我有一个对象数组,当我在其上循环时,向变量中添加一个值,该变量中始终带有null。我知道这是一个非常基本的问题,但仍然坚持为什么要添加null而不知道如何停止它。



(function() {
  let ds = [{
      Name: "A",
      Age: 1
    },
    {
      Name: "B",
      Age: 2
    },
    {
      Name: "C",
      Age: 3
    }
  ];
  let str = null;

  for (let i = 0; i < ds.length; i++) {
    if (ds[i].Name) {
      str += ds[i].Name + ",";
    }
  }
  console.log(str);
})();





它显示为null,A,B,C,而我希望它显示为A,B,C

最佳答案

null值被字符串化为“ null”-ToString 。如果用空字符串初始化它,将可以工作。



(function() {
  let ds = [{
      Name: "A",
      Age: 1
    },
    {
      Name: "B",
      Age: 2
    },
    {
      Name: "C",
      Age: 3
    }
  ];
  let str = "";

  for (let i = 0; i < ds.length; i++) {
    if (ds[i].Name) {
      str += ds[i].Name + ",";
    }
  }
  console.log(str);
})();

关于javascript - 当遍历对象数组并将数据添加到变量时,它总是与数据一起添加null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59686772/

10-09 15:21
查看更多