数组的系列方法
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