数组的系列方法

2020-03-24  本文已影响0人  杨戬Yj

1. indexOf()

用于数组查找数组元素的索引

var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); //0
arr.indexOf('30'); //2

2.slice()

就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array; 起止参数包括开始索引不包括结束索引 。如果不给slice()传递任何参数,它就会从头到尾截取所有元素

arr.slice(1,3); // [20,'30']
arr.slice(); // [10, 20, '30', 'xyz']参数为空,则截取整个数组,相当于复制一个数组

3. pop() , push()

push()向Array的末尾添加元素,pop()则把Array的最后一个元素删除掉

push() 向尾部添加任意个元素,返回新数组长度

请注意,push() 方法不创建新的创建,而是直接修改原有的数组。

var arr = [1,2,3];
var push = arr.push('a','b');
console.log(push); //5 返回数组的长度

pop()方法返回删除的元素

请注意,pop() 方法是直接修改原有的数组。

var pop=arr.pop();
console.log(pop); 
// b 返回删除的元素  如果数组已经为空, 空数组继续pop不会报错,而是返回undefined

4.unshift()和shift()

unshift()往Array的头部添加元素,shift()则把Array的第一个元素删掉

unshift() 可向数组的开头添加一个或更多元素,并返回新的长度

arrayObject.unshift(newelement1,newelement2,....,newelementX);
//newelement1必需,其余为可选

第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。

var  arr=[1,2];
var unshift=arr.unshift('A','b');
console.log(unshift);  
// 4  返回数组长度 

shift()返回删除元素

请注意,shift() 方法是直接修改原有的数组。

var shift=arr.shift(); 
console.log(shift); 
 // A 返回删除的元素 

5.reverse() 颠倒数组中元素的顺序

该方法会改变原来的数组,而不会创建新的数组

var arr = [1,2,3];
var reverse = arr.reverse();
console.info(reverse);  // 返回的是反转数组后的结果[3,2,1]

6.splice() 修改Array的“万能方法”

从数组中的指定位置添加/删除项目,然后返回被删除的元素

arrayObject.splice(index,howmany,item1,.....,itemX);
//index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 从索引2开始删除3个元素,然后再添加两个元素:
var spl1=arr.splice(2, 3, 'Google', 'Facebook'); 
// 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
console.log(arr); // ["Microsoft", "Apple", "Google", "Facebook", "Oracle"]

只删除,不添加

var spl2 = arr.splice(2, 2); 
console.log(spl2);// ['Google', 'Facebook']
console.log(arr); // ['Microsoft', 'Apple', 'Oracle']

只添加,不删除

var spl3=arr.splice(2, 0, 'Google', 'Facebook'); 
console.log(spl3);// 返回[],因为没有删除任何元素
console.log(arr); // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']

请注意,splice()方法与 slice()方法的作用是不同的,splice()方法会直接对数组进行修改。slice()则是返回一个新的数组

7.concat()方法

把当前的Array和另一个Array连接起来 concat()方法并没有修改当前Array, 并返回一个新的Array。实际上,concat()方法可以接收任意个元素和Array,并且自动把Array拆开,然后全部添加到新的Array

var arr=['a', 'b', 'c'];
var concat=arr.concat(1, 2, [4, 7, 2]);
console.info(concat); //["a", "b", "c", 1, 2, 4, 7, 2]

8.join() 用于把数组中的所有元素放入一个字符串

元素是通过指定的分隔符进行分隔的。

array.join(separator)
//separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var arr = ['A', 'B', 'C', 1, 2, 3];
var join=arr.join('-');
console.info(join);//A-B-C-1-2-3
console.info(typeof(join)); //string

9.toString()

把数组转换为字符串,并返回结果,数组中的元素之间用逗号分隔

var arr = ['a','b','c',1,2];
console.log(arr.toString()); // a,b,c,1,2
上一篇下一篇

猜你喜欢

热点阅读