我的for循环获得更多角色,这没有通过我的判断

时间:2018-09-25 12:13:19

标签: javascript

我使用下面的代码获取需求文本:

var ipv4s = [
  {ip: '1.1.1.1'},
  {ip: '1.1.1.2'},
  {ip: '1.1.1.3'},
  {ip: '1.1.1.4'},
  {ip: '1.1.1.5'},
  {ip: '1.1.1.6'},
]

var ip_text = ''
for (let index in ipv4s) {

  var item = ipv4s[index]

  if(index === (ipv4s.length -1) ){

    ip_text += item.ip
  }else {
    ip_text += (item.ip + ", ")
  }
  console.log(index, ipv4s.length - 1)
}

console.log(ip_text)

但是我得到了波纹管控制台:

0 5
1 5
2 5
3 5
4 5
5 5
1.1.1.1, 1.1.1.2, 1.1.1.3, 1.1.1.4, 1.1.1.5, 1.1.1.6, 

但是我认为它将得到1.1.1.1, 1.1.1.2, 1.1.1.3, 1.1.1.4, 1.1.1.5, 1.1.1.6

为什么那里有多余的,

1 个答案:

答案 0 :(得分:4)

这是因为函数中的index类型是字符串。您可以使用typeof(index)进行检查。

因此,您不能使用===进行相等检查。