js中的Array方法

本文详细介绍了JavaScript中数组的各种方法,包括valueOf(), toString(), push(), pop(), join(), concat(), shift(), unshift(), reverse(), slice(), splice(), sort(), map(), forEach(), filter()等。并通过示例展示了如何使用这些方法进行数组操作。

数组方法

  1. valueOf() 返回数组本身
  2. toString() 通过字符串的方式返回数组 数组会平面化
  3. push() 在数组的后面添加一个元素,
  4. pop() 删除数组最后一个元素并返回这个元素
  5. join() 以参数作为分隔符,将数组通过分隔符链接城字符串并返回
  6. concat() 多个数组的合并
  7. shift() 删除数组的第一个元素并返回该元素
  8. unshift() 在数组前添加元素 返回 更新后的数组长度
  9. reverse() 颠倒数组
  10. slice() 提取数组中的一部分,类似字符串中的slice
  11. splice() 删除原数组的一部分, 在被删除的位置添加入新的元素,返回被删除的元素
  12. sort() 排序, 默认按字典排序
  13. map() 对数组的每一个成员调用函数,返回新的数组
  14. forEach() 遍历数组所有成员
  15. filter() 遍历数组, 返回结果为true的新数组,不改变原数组
  16. some() 判断数组成员是否
  17. every()
  18. reduce(),reduceRight()
  19. indexOf(),lastIndexOf()

1 数组也是对象

  • array 是数组,但是他们也是对象,可以在他们上面添加string键/属性(但是这些属性不会计算在array的length中)
var arr = [];
arr[0] = 2;
arr['foobar'] = 3;
console.log(arr.length);    //  1 数组的长度是1
console.log(arr[0]);        //  2
console.log(arr['foobar']); //  3
console.log(arr.foobar);    //  3
  • 但是如果一个可以被转换为10进制number 的string被用作键的时候, 它会认为是想用number索引而不是一个string。也就是说string被转换为number了
var arr = [];
arr['23']= 23;
console.log(arr.length); // 返回数组长度为 24

注意: 一般不要向array添加string键/属性, 最好使用object, array 严格的用数字来索引

2. 数组工具函数

  1. concat() 连接数组
    将参数列表连接到数组的最后面, 返回一个新的数组,原数组保持不变
var arr = ['a', 'b', 'c'];
var arr1 = arr.concat('d','e');
console.log(arr1); // a b c   d e

var arr2 =[ 'd','e'];
var arr3 = arr.concat(arr2); // a b c d e
  1. push() 在后面添加元素
    把参数添加到当前数组的最后,返回数组的长度。
var arr = ['a', 'b', 'c'];
arr.push('d','e');
alert(arr); // a b c d e
  1. unshift() 在前面添加元素
    把参数添加到当前数组的最前, 返回数组的长度
var arr = ['a', 'b', 'c'];
arr.unshift('d','e');
alert(arr); // d e a b c
  1. pop() 弹出(删除)并返回数组的最后一个元素
var arr = ['a', 'b', 'c'];
var a = arr.pop()
console.log(a); // c  数组arr的最后一个值
alert(arr); // a, b  因为c 已经被删除
  1. shift() 弹出(删除)并返回数组的第一个元素
var arr = ['a', 'b', 'c'];
var a = arr.shift()
console.log(a); // c  数组arr的最后一个值
alert(arr); // a, b  因为c 已经被删除
  1. reverse() 将数组反转排列
var arr=[ 1, 2, 3,4,5];
arr.reverse();
console.log(arr); //[5,4,3,2,1]
  1. splice() 替换元素
    删除或者替换数组中的元素然后将被删除的数返回给一个新的数组 原数组的元素会被删除
var arr = [ 1, 2, 3,4,5,6];
var arr1 = arr.splice( 0,2,22,33);
console.log(arr1); // 1 2
console.log(arr);  22 33  3 4 5 6
  1. slice() 获取数组子集
    返回数组的一个子集 索引从开始位置(包括开始位置) 到结束位置(不包括结束位置), 原数组不受影响,如果开始或结束为负数,则加上数组长度再索引,但起始位置大于结束位置,返回空数组
var arr= [a,b,c,d,e,f];
var arr1= arr.slice(2,4); // 返回 arr[2] ,arr[3]
console.log(arr1); // c  d
  1. sort(sortfunction) 排序函数
  • 第一种使用方式 默认按照ASCII字符顺序升序排列默认
var arr = ['A','B','C','D','a','b','1','2',];
arr.sort();
console.log(arr);//["1", "2", "A", "B", "C", "D", "a", "b"]  ASCII字符顺序升序
  • 第二种使用方式 数字排序从 小到大】、
var arr = [1,23,4,654,768,8,46];
arr.sort(function(a,b){return a-b});
console.log(arr); //[1, 4, 8, 23, 46, 654, 768]
  • 第二种使用方式 数字排序从 大到小
var arr = [1,23,4,654,768,8,46];
arr.sort(function(a,b){return b-a});
console.log(arr); //[768, 654, 46, 23, 8, 4, 1]
  1. arr.join() 数组转化字符串
    使用参数中的字符串将数组连接成字符串
var arr = ['aaa','vb','asd','asd','fde'];
console.log(arr.join('+'));

转载于:https://www.cnblogs.com/liuding0304/p/7280625.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值