为什么一样的元素前后加的顺序不一样,就会产生不一样的结果。

img


let a = [[0.1, '2'], [0.2, 5, {x: 100, y: 50, color: 'white'}]]
console.log("a[0][0]+a[0][1]等于"+a[0][0]+a[0][1])
console.log("a[0][1]+a[0][0]等于"+a[0][1]+a[0][0])

除了数字与数字相加是数字以外,其余情况相加都是字符串

所以1 是 0.1 + "2" = "0.12"
2 是 "2" + 0.1 = "20.1"

因为你的数组元素中包含字符串,所以相加变成了字符串拼接,并不是数字相加,你应该把字符串转为数字再相加