JavaScript-javascript数组相加的问题?

项目合作 项目合作 主题:1030 回复:2135

JavaScript-javascript数组相加的问题?

想挽留 发布于 2017-05-30 字数 164 浏览 1061 回复 3

怎么理解如下的代码输出?

var a = [1,2,3];
var b = [1,2];
console.log(a + b);
//OUTPUT
1,2,31,2

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

虐人心 2017-09-17 3 楼

第一个是两个数组执行了valueOf()方法(如果返回NaN的话,就执行对象的toString()方法),‘+’其实是字符串连接。
第二个是获二维数组中的一个值

虐人心 2017-07-16 2 楼

对数组使用 + , 其实 + 是连接的作用并且 + 运算。 既然是连接 所以需要将数组转成string, 也就是 a.toString() + b.toString();

对第二个疑问:

console.log([1,2,3,4,5,6][1,2,3]); //OUTPUT:4

前者是一个数组,后者是数组中的下标,写一个可能好理解,如:

[1,2,3,4,5,6][1] 为 2
[1,2,3,4,5,6][2] 为 3

如果下标是多个一个数组 [1,2,3,4,5,6][1,2,3] 则按照最后一个元素为下标,所以相当于
[1,2,3,4,5,6][3] //输出 4

灵芸 2017-06-11 1 楼

a输出完毕后, 输出b, 3和1中间连起来了
你这样: console.log(a+','+b)就可以得到
1,2,3,1,2