这篇文章主要介绍了 JavaScript 中的数组操作介绍, 本文讲解了 join()、reverse()、sort()、concat()、slice()、splice() 等几个函数的操作实例, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
JavaScript 中的数组对象自带了一些方法,可以通过使用这些方法来对数组进行操作。
join()
可以使用 join() 方法将数组中的成员合并到一个字符串中:
- var o = [1,2,3];
- console.log(o.join());//1,2,3
- console.log(o.join(" "));//1 2 3
- var emptyArray = new Array(10);
- console.log(emptyArray.join("-"));//----------
从上面的例子中可以看到,如果 join() 方法不带参数,那么 JavaScript 会用逗号作为分隔符将所有的成员合并到一个字符串中;如果 join() 方法接受参数,那么这个参数会作为分隔符来使用。
reverse()
可以使用 reverse() 方法将数组中的成员顺序进行颠倒:
- //reverse()
- o.reverse();
- console.log(o);//[3,2,1]
可以看到,调用 reverse() 语句后,数组自身将发生改变。
执行 reverse() 语句的返回结果为发生改变后的数组对象。
sort()
可以使用 sort()方法对数组中的成员进行排序 (默认以字母顺序排列)。与 reverse() 语句一样,sort()语句会对数组自身进行修改并返回修改后的数组对象:
- var a = ["Phone", "Mobile", , , "Canon"];
- a.sort();
- console.log(a); //["Canon", "Mobile", "Phone", undefined, undefined]
- var b = [33, 44, 111];
- console.log(b.sort()); //[111, 33, 44]
- console.log(b.sort(function(a, b) {
- return a - b
- })); //[33, 44, 111]
可以看到,sort() 语句还接受一个 function 作为参数来实现自定义排序。
concat()
可以使用 concat() 方法对数组进行拼接:
- var c = [1,2,3];
- console.log(c.concat(4));//[1, 2, 3, 4]
- console.log(c.concat(5,6));//[1, 2, 3, 5, 6]
- console.log(c.concat([7,8]));//[1, 2, 3, 7, 8]
- console.log(c.concat([9,10], [11,12]));//[1, 2, 3, 9, 10, 11, 12]
- console.log(c.concat([42,43,[44,45]]));//[1, 2, 3, 42, 43, [44, 45]]
- console.log(c);//[1, 2, 3]
可以看到,与 reverse() 和 sort() 不同,concat() 语句仅仅只是返回拼接后的结果而已,对数组自身不会产生任何修改。
slice()
可以使用 slice() 语句来获取数组中的子数组 (sub-array):
- var d = [1,2,3,4,5,6];
- console.log(d.slice(0,3));//[1,2,3]
- console.log(d.slice(3,1));//[]
与 concat() 一样,slice() 语句仅仅只是返回操作后的结果而已,对数组自身不会产生任何修改。对于 slice() 语句中的两个参数,JavaScript 遵循" 前包括后不包括 " 的原则:第一个参数所指定的数组成员会出现在子数组中,而第二个参数所指定的数组成员则不会出现。
splice()
可以使用 splice()语句来对数组进行插入和敲除操作。其第一个参数指定插入或敲除的位置 (位置成员),第二个参数指定敲除成员的数目(从位置成员开始敲除),从第三个参数开始,所有的参数都会被插入到数组中(从位置成员之前进行插入)。splice() 语句返回的结果为被敲除的数组成员所组成的数组。与 concat()和 slice()不同,splice()会对数组自身产生修改。
- var e = [1,2,3,4,5,6,7];
- console.log(e.splice(1,2));//[2,3]
- console.log(e);//[1,4,5,6,7]
- console.log(e.length);//5
- e.splice(1,0,2,3,[4,5]);
- console.log(e);//[1, 2, 3, [4, 5], 4, 5, 6, 7]
来源: