当我在控制台中看到值时,为什么在for循环中收到未定义的错误?

时间:2019-07-12 01:09:46

标签: javascript arrays

我在这里有一个函数,是vue.js项目的一部分。我正在尝试查找所有以'iPad'开头的版本,并将它们移到数组的末尾。

我正在使用现有数组this.jobs,并使用另一种方法sortVersions对该数组进行排序

orderedReleases: function() {
  let newlist = this.jobs.sort(sortVersions)
  for (let i in newlist) {
    console.log(newlist[i].version)
    // logs all the versions as expected
    if (newlist[i].version.startsWith("iPad")) {
      // returns error Cannot read property 'startsWith' of undefined
      newlist.push(newlist.splice(i, 1))
    }
  }
  return newlist;
},

调用此函数时出现此错误:

Cannot read property 'startsWith' of undefined

但是正如您在代码中看到的那样,console.log(newlist[i].version)向我展示了所有版本。

我在做什么错了?

console.log(newlist [i] .version)输出

2.5.1
2.5.0
2.4.1
2.3.0
2.2.1
2.1.3

0 个答案:

没有答案