首页 > 编程语言 > 详细

js常用的数组方法

时间:2020-04-21 23:20:27      阅读:89      评论:0      收藏:0      [点我收藏+]

作为一名小白,又是日常敲代码的一天,此刻讨论一下关于js中较常使用的数组方法。

关于数组的方法有很多,我现在列举一下常用的方法,更多的方法需要大家一起总结归纳。

1.Array.push(参数1,参数2. . . )

有参数,作用是在原数组后添加元素,会改变原数组,返回值为新数组的长度

var arr = [520, 1, 3];
var newArr = arr.push(1, 4);
alert(newArr); // 5
alert(arr);    // [520, 1, 3, 1, 4]

 

2.Array.pop()

无参数,作用是将原数组最后一个元素删除,会改变原数组,返回值为删除元素的值

var arr = [520, 1, 3, 1, 4, "fake"];
var newArr = arr.pop();
alert(newArr);  // "fake"
alert(arr);     // [520, 1, 3, 1, 4]

 

3.Array.shift()

无参数,作用是删除原数组的首个元素,会改变原数组,返回值为删除元素的值

var arr = ["fake", 520, 1, 3, 1, 4];
var newArr = arr.shift();
alert(newArr); // "fake"
alert(arr);    // [520, 1, 3, 1, 4]

 

4.Array.unshift(参数1,参数2. . . )

有参数,作用是在原数组元素之前添加元素,会改变原数组,返回值为新数组的长度

var arr = [1, 3, 1, 4];
var newArr = arr.unshift(520);
alert(newArr); // 5
alert(arr);    // [520, 1, 3, 1, 4]

 

5.Array.concat(参数)

有参数(可以为数组或数据,如果是数组,会将该数组元素拆分出来进行合并 ),作用是复制原数组生成另一个数组,然后与参数拼接成一个新数组,返回值为新数组不改变原数组。

var arr1 = [520];
var arr2 = [1, 3, 1, 4];
var newArr1 = arr1.concat(arr2);
var newArr2 = arr1.concat(3, 3, 4, 4);
alert(newArr1); // [520, 1, 3, 1, 4]
alert(newArr2); // [520, 3, 3, 4, 4]
alert(arr1);    // [520]

 

6.Array.slice(start,end)

start ,end分别为起始结束位置,对应原数组元素的下标(终止位置的元素选不到,可以看似为 [start , end )),该方法的作用是从原数组选取一段元素构成新数组,返回值为新数组不改变原数组

var arr = ["tony", 520, 1, 3, 1, 4, "fake"];
var newArr = arr.slice(1, 6);
alert(newArr); // [520, 1, 3, 1, 4]
alert(arr);    // ["tony", 520, 1, 3, 1, 4, "fake"]

 

7.Array.splice(start, length, 空/参数)

start为截取的初始位置,length为截取长度,参数可以为空,若有参数,则放在start的位置,该方法可用于数组元素的添加、删除或者修改(先删除,后添加 ),返回值为截取元素组成的数组,原数组改变

var arr = [520, 1, 3, 1, 4];
var newArr1 = arr.splice(1, 0, "tom");
var newArr2 = arr.splice(2, 2);
var newArr3 = arr.splice(1, 3, "forever");
alert(newArr1); // []
alert(newArr2); // [1, 3]
alert(newArr3); // ["tom", 1, 4]
alert(arr)      // [520, "forever"]

 

8.Array.join(空/连接符)

该方法是将数组元素以指定连接符拼接成一个新字符串,如果为空,则按默认" , "进行分割,返回值为新字符串不改变原数组

var arr = [520, 1, 3, 1, 4];
var newArr1 = arr.join("-");
var newArr2 = arr.join();
alert(newArr1); // "520-1-3-1-4"
alert(newArr2); // "520,1,3,1,4"
alert(arr);     // [520, 1, 3, 1, 4]

 

9.Array.reverse()

无参数,作用是将原数组元素逆序,返回值为逆序过后的新数组,原数组改变

var arr = [520, 1, 3, 1, 4];
var newArr = arr.reverse();
alert(newArr);  // [4, 1, 3, 1, 520]
alert(arr);     // [4, 1, 3, 1, 520]

 

10.Array.sort(空/ 参数)

该方法是用于数组的排序,可以有参数,该参数为一个函数,代表怎么去排序(固定用法 );无参数时,排序按字符串大小排序(即逐位进行比较),返回值为排序过后的新数组会改变原数组。

var arr = [11, 66, 34, 77, 15, 5];
var newArr = arr.sort(function(value1, value2) {
            return value1 - value2;
});
alert(newArr);        // [5, 11, 15, 34, 66, 77]
alert(newArr.sort()); // [11, 15, 34, 5, 66, 77]
alert(arr);           // [11, 15, 34, 5, 66, 77]

 

11.Array.toString()

该方法是将数组转化为字符串,将数组转化为字符串,不会改变原数组,返回值为新字符串

var arr = [11, 66, 34, 77, 15, 5];
var newArr = arr.toString();
alert(newArr); // "11,66,34,77,15,5"
alert(arr);    // [11, 66, 34, 77, 15, 5]     

 

12.Array.isArray(obj)

该方法是判断一个对象是不是数组,返回值是布尔值,是则为true,反之为false。

var arr = ["hello", "world", 520];
var str = "hello world 520";
alert(Array.isArray(arr)); //true
alert(Array.isArray(str)); //false

  

13.Array.indexOf(item, start(可选))

该方法是查找数组中某个指定元素首次出现的位置,start为在数组中开始检索的位置,省略start参数则默认从首位开始检索,若元素未检测到,则返回值为 - 1,若存在,则返回所匹配元素的下标。

var arr = ["火车", "高铁", "飞机", "自行车", "摩托车", "自行车"];
var a = arr.indexOf("自行车");
var b = arr.indexOf(3);
var c = arr.indexOf("自行车", 4);
alert(a);   // 3
alert(b);   // -1
alert(c);   // 5

 

有什么不对的地方请兄der指出来技术分享图片


大家可以在MDN菜鸟教程中找到更多更详细的方法及介绍

 

js常用的数组方法

原文:https://www.cnblogs.com/ccb0725/p/12733188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!