为什么javascript将变量视为字符串?

时间:2016-05-17 20:02:03

标签: javascript ecmascript-6

在下面的代码中,为什么我被视为字符串?我必须将它乘以1才能将其转换回数字。

[{"foo":3,"id":"4fc2e6e8-9434-4fa9-831b-4208bc82fd35"}]

2 个答案:

答案 0 :(得分:1)

假设数组是一个数组......

问题是for(i in array)将数组视为对象并将索引作为字符串返回:

更改for(;i<array.length;i++)中的循环,它应该可以正常工作。

答案 1 :(得分:1)

只使用正常的for循环,你就不会遇到这个问题:

Working Example

function getPositionInArray (value, array) {
  console.log('array = ', array);
  for (let i = 0; i < array.length; i++) {
    if (array[i].toLowerCase() === value) {
      let positionOnUI = i // why can't I use i + 1?
      return positionOnUI;
    }
  }
  return null;
}