数组的API
1,把数组转换为字符串
toString() 把数组转换为数组值(逗号分隔)的字符串。
var arr = [ 1,2,3,4,5 ]
console_log(arr.toString( ) );//输出1,2,3,4,5
join() 方法也可将所有数组元素结合为一个字符串。它的行为类似 toString(),但是您还可以规定分隔符:
var arr = [ 1,2,3,4,5 ]
console_log(arr.join(" "));//输出12345;
console_log(arr.join(" ! "));//输出1 ! 2 ! 3 ! 4 ! 5;
//join(‘链接符号’)
2。最后一个元素的添加和删除 Popping 和 Pushing
Popping
pop() 方法从数组中删除最后一个元素:
var arr = [ 1,2,3,4,5 ]
console_log(arr.pop( ));//输出1234
方法返回被删除的值会修改原数组
Pushing
push() 方法(在数组结尾处)向数组添加一个新的元素:
var arr = [ 1,2,3,4,5 ]
console_log(arr.pop(6 ));//输出1234,5,6;
方法返回新数组的长度:会修改原数组
3.第一个元素的添加和删除 unshift()和shift()
shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
var arr = [ 1,2,3,4,5 ]
console_log(arr.shift( ));//输出234,5
shift() 方法返回被删除的字符串:会修改原数组
unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素:
var arr = [ 1,2,3,4,5 ]
console_log(arr.unshift(0));//输出0,1,2,3,4,5
unshift() 方法返回新数组的长度。会修改原数组
4.删除元素 delete 运算符
使用 delete 会在数组留下未定义的空洞。请使用 pop() 或 shift() 取而代之。
5.拼接数组 splice()
splice() 方法可用于向数组添加新项:
arr.splice(开始下标,删除的个数, 插入的值…) 会修改原数组
var arr = [1,2,3,4,5,6];
5.1 删除 在数组中不留“空洞”的情况下移除元素
第一个参数(4)定义新元素应该被添加(接入)的位置。
第二个参数(2)定义应该删除多个元素。
其余参数被省略。没有新元素将被添加。
返回值被删除的元素组成的临时子数组
var arr1= arr.splice(4,2);
console_log (arr1 ); //返回 5,6组成的临时数组
console_log (arr); //返回1234
支持负数参数 arr.splice(-2,1) 删掉倒数第二个元素
5.2插入 第二个参数写0 表示一个都不删除,返回值: [] 空的数组
第一个参数(4)定义新元素应该被添加(接入)的位置。原位置的值,向后顺移
第二个参数(0)定义应该删除多个元素。0表示一个都不删除
其余有参数被省略。有新元素将被添加。
参数为数组的是,不会打散数组,整个子数组保存在一个元素中
var arr2 = arr.splice(2,0,'aa','bb');
console_log (arr2 ); //返回 返回值:[]
console_log (arr1 ); //返回 返回值: 1 2 3 aa bb 4 5 6
5.3 替换 插入的元素个数必须要和删除的元素个数相等
第一个参数(2)定义新元素应该被添加(接入)的位置。原位置的值,向后顺移
第二个参数(2)定义应该删除多个元素。0表示一个都不删除
其余有参数被省略。有新元素将被添加。
参数为数组的是,不会打散数组,整个子数组保存在一个元素中
result = arr.splice(2,2,‘cc’,‘dd’,‘ff’);
console.log(result);//[‘aa’,‘bb’]
console.log(arr);//[1,2,‘cc’,‘dd’,3,4]
arr1.splice(2,1,[‘ss’,‘vvv’]);
console.log(arr1);
6 拼接 concat():将其他元素或另一个数组,拼接到数组的结尾
无权修改原数组 必须返回新的数组 参数如果是数组,会打散为单个元素,单个拼接
var arr = [1,2,3];
var arr1 = [4,5,6];
var new_arr = arr.concat(arr1);
console.log(new_arr)//1,2,3,4,5,6
var new_arr1 = arr.concat(5,6,7,8,9);
console.log(new_arr1)//1,2,3,4,5,6 , 6, 7, 8, 9
7 slice()选取:从原数组中指定位置到结束位置之间所有的元素,组成一个临时子数组 无法修改原数组
slice(开始位子的下标 , 结束位子的下标) 含头不含尾 当两个参数都是下标的时候,通常情况下开始下标的元素包含在结果中,结束下标不包含在结果中
var arr = [1,2,3,4,5,6];
省略第二个参数,从指定位置一直截取到结尾
console.log(new_arr2.slice(4));//5 6
支持负数参数 -n ==> arr.lenght - n
console.log(new_arr2.slice(2,-1)); //4 5
省略两个参数,表示完整复制一个元素
var copy_arr = new_arr2.slice();
8 数组排序sort(); 反转数组reverse()
数组排序 sort() 方法以字母顺序对数组进行排序:
reverse() 方法反转数组中的元素。
比值函数
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负,零或正值,这取决于参数:
数组排序 sort() 方法以字母顺序对数组进行排序:
function(a, b){return a-b} //升序
var arr = [1,4,56,,6,7,9,8]
arr. sort(function(a, b){return a-b})
consloe_log( arr) //1、4、6、7、8、56;’
function(a, b){return b-a} //降序
var arr = [1,4,56,,6,7,9,8]
arr. sort(function(a, b){return b-a})
consloe_log( arr) //56,9,8,7,6,4,1
reverse() 方法反转数组中的元素。
var arr = [1,2,3,4,5]
arr.reverse();
consloe_log( arr)//5,4,3,2,1
以随机顺序排序数组
var arr = [40, 100, 1, 5, 25, 10];
arr .sort(function(a, b){return 0.5 - Math.random()});
对数组使用 Math.max()
您可以使用 Math.max.apply 来查找数组中的最高值:
var max = Math.max.apply(null, arr);
对数组使用 Math.min()
您可以使用 Math.min.apply 来查找数组中的最低值: