JS中数组常用的方法

slice 数组的截取

//slice 从已有的数组中截取的元素 返回截取元素组成的数组 原数组不变
let arr = [1,2,3,'aa'] ;
arr.slice(1,3)  //  [2,3]       下标为1 开始取 截到下标为3的前一位
arr.slice(1,)  	//  [2,3,'aa']  下标为1 开始截 截到最后
arr.slice(1,-1) //  [2,3]       下标为1 开始截 截到倒数第1的前一位
arr.slice(,-1) //  [2,3]        语法错误

splice 数组的删除、替换

//splice 将原数组进行删除、替换、更改  返回删除元素所组成的数组
let arr = [1,2,3,'aa',4,5] ;
arr.splice(2)    // [3,'aa',4,5] ; arr=[1,2]  下标为2开始删除,删除到最后一位
arr.splice(2,3)  // [3,'aa',4] ;  arr=[1,2,5]  下标为2开始删除,删除3个元素
arr.splice(-2,2) // [4,5] ;  arr = [1,2,3,'aa']  倒数第二个开始删除,删除两个
arr.splice(0,1,'嘿嘿') // \[1] ; arr = ['嘿嘿',2,3,'aa',4,5]   删除一项并插入一项
arr.splice(4,0,'嘿嘿') // [] ; arr = [1,2,3,'aa','嘿嘿',4,'5]   插入一项
// 插入是在被开始删除的前一项插入

includes 判断数组

// includes 判断数组中是否含有某条数据 返回布尔值 可以判断NaN
let arr = [1,{a:'哈哈哈'} , NaN , null ] ;
arr.includes(NaN)    //  true ;
arr.includes(null)    //   true ;
// indexOf 判断数组中是否含有某条数据 返回索引 不可判断NaN
arr.includes(NaN)    // -1 ;
// includes和indexOf都可以有第二个参数 代表下标 负数代表倒数

filter 数组过滤

//filter 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
let arr = [1,2,3,'aa',4,5] ;
let _this = {}
let filterArr = arr.filter( function( value,index,arr ){ 
	cosole.log(this)    // this === Window
	return index > 3}
);
filterArr = [4,5] ;
let filterArr2 = arr.filter( function( value,index,arr ){
 console.log(this)    // this === {}
 return index > 3},
_this) ;
filterArr2 = [4,5] ;
// 注意深浅拷贝

toString 数组转字符

// toString  返回一个字符串,表示指定的数组及其元素
let arr = [1,2,3,45,'a']
arr.toString()   //   '1,2,3,45,a'
let arr2 = [1,2,3,45,null,'a']
arr2.toString()   //   '1,2,3,45,,a'
let arr3 = [1,2,3,45,undefined,'a']
arr3.toString()   //   '1,2,3,45,,a'
let arr4 = [1,2,3,45,undefined,'a','']
arr4.toString()   //   '1,2,3,45,,a,'

join 数组转字符

// join 把数组项与项之间用一个符号连接  返回值为连接后的字符串
let arr = ['w',2,'c',3,'haha'] ;
arr.join("") ; //    'w2c3haha'
arr.join() ;   //    'w,2,c,3,haha' (默认为逗号)

let arr = ['w',2,'c',3,'haha',null,undefined,function(){}] ;
arr.join()   // "w,2,c,3,haha,,,function(){}"

concat 合并数组

// concat 合并数据|| 数组 ; 返回值是合并后的数组,原数组不变;
let arr = [1,2,3] ;
arr.concat(4) ;  //   [1,2,3,4]
arr.concat([4]) ;  //  [1,2,3,4]
arr.concat([4],8,[9]) ;  //  [1,2,3,4,8,9]
arr.concat() ;    //  [1,2,3] ; 实现了浅拷贝

some检测数组

// some检测数组中的元素是否满足指定条件;每一项;满足则停止返回ture,否则反之
let arr = [1,2,3,4,11,'a'] ;
arr.some( (item,idx,arr)=>item === 1 )   //true
arr.some( (item,idx,arr)=>item === 7 )   //false

let arr2 = [{id:'wo'},{id:'love'},{id:'you'}] ;
arr2.some(item=>item.id==='love')   //true

every检测数组

// every检测数组中的所有元素是否满足指定条件;如果有不满足的则返回false ,停止循环
let arr = [1,2,3,4,11,'a'] ;
arr.every( (item,idx,arr)=>item === 1 )      //false
arr.every( (item,idx,arr)=>item !== null )   //true

fill重置数组内某部分项

    // es6 fill 重置数组内某部分的值
    // arr.fill(value, start, end)  arr本身会发生改变,返回值就是本身 实现了浅copy
    // value 必填 其余两个参数选填
    let arr = [1,2,{}, []];
    arr.fill('zan');         // arr = ['zan', 'zan', 'zan', 'zan']
    arr.fill('zan', 2);      // arr = [1, 2, 'zan', 'zan']
    arr.fill('zan', 2, 3);   // arr = [1, 2, 'zan', []]
    arr.fill('zan', -1);     // arr = [1, 2, {}, 'zan']

嘻嘻

文章随时更新…
转载请注明出处,有出错的地方还请各位大神指出,非常感谢。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值