js常用的数组方法 及数组元素的遍历

js常用的数组方法

  • 创建数组
   var a = new Array();
   var b = [];
  • 清空数组
var a.length = 0;
var b = [];
  • 数组首位添加
    unshit() 数组在首位添加第一个元素,并返回新的长度
var a = [1, 2];
var newLength = a.unshift(0); // 3  a = [0, 1, 2]
  • 数组尾部添加
    push() 数组尾部添加一个新元素或多个元素,返回新的数组长度
var a = [1, 2];
var b = [4, 5];
var newLength1 = a.push(3); // 3    a = [1, 2, 3] 
var newLength2 = a.push(b); // 4    a = [1, 2, 3, 4, 5]
  • 数组首位删除
    shit() 数组删除第一个元素, 并返回删除的元素
var a = [1, 2];
var deleteValue = a.shift(); // 1     a = [2]
  • 数组尾部删除
    pop() 数组删除最后一个元素, 并返回删除的元素
var a = [1, 2];
var deleteValue = a.pop(); // 2     a = [1]
  • 数组的删除|替换

    Array.splice (start, howmany, addArray);

    start: 必选。 添加/删除的起始位置,负数表示从尾部开始数的倒数位置
    howmany: 可选。表示删除的个数
    addArray: 可选。添加的新数组

var a = [1, 2, 3, 4];
a.splice(1, 2, 'new') //替换   a = [1, 'new', 4]
var a = [1, 2, 3, 4];
a.splice(1, 0, 'new') //插入   a = [1, 'new', 234]
var a = [1, 2, 3, 4];
a.splice(1, 2)        //删除   a = [1, 4]
  • 数组的截取
    Array.slice(startIndex, endIndex);

    startIndex: 必选。从该索引开始截取
    endIndex: 可选。截取到该索引前结束。不选就默认截取到数组结束的所有的元素;是负数则是代表从数组尾部楷书算起的元素
var a = [1, 2, 3, 4, 5];
var newArray1 = a.slice(13) // newArray1 = [2, 3]
var newArray2 = a.slice(1) // newArray1 = [2, 3, 4, 5]
  • 数组的排序
var a = [3, 2, 4, 1];
var newArray = a.sort((pre, next) => pre - next) // newArray = [1, 2, 3, 4]
a.reverse() //倒序
  • 数组索引的查找
var a = [1, 2, 3];
var valueIndex = a.indexOf(2) // 1

数组元素的遍历

map() filter() find() forEach() every() some()

  • map() 对每项进行操作,并返回新的数组,不会改变原数组
var a = [1, 2, 3];
var b = [{person: 'json', tel: 111}, {person: 'lily', tel: 222}]
var newArray1 = a.map(item => item * 2) // newArray1 = [2, 4, 6]
var newArray2 = b.map(item => item.tel) // newArray2 = [111, 222]
  • filter() 筛选出符合条件的所有项,组成新的数组并返回
    find() 筛选出符合条件的第一项
var a = [1, 2, 3, 4, 5, 6];
var newArray1 = a.filter(item => !(item%2)); // newArray1 = [2, 4, 6]
var newArray2 = a.find(item => !(item%2)); // newArray2 = 2
  • forEach() 对每项进行操作,并改变原数组
var a = [1, 2, 3];
a.map(item => item * 2) // a = [2, 4, 6]
  • every() 对每项进行操作,每项都返回true,结果才返回true
    some()只要有一项符合条件就返回true
var a = [1, 2, 3, 4, 5, 6];
var allCheck = a.filter(item => !(item%2)); // allCheck = false
var someCheck = a.find(item => !(item%2)); // someCheck = true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值