整理下常用的数组的方法~~持续更新

//原数组改变的方法有:push pop shift unshift reverse sort splice
//不改变原数组的方法有:concat map filter join every some indexOf slice forEach
//1.0 filter根据条件去比较,如果是true则保留加到新的数组里面(符合条件的元素并返回一个新的数组),返回false是丢弃不加 
var list=["1",'2','3','4']
const strarr=list.filter(item=>item>3)
==>  strarr=['4']
//2.0 some根据条件去返回true或者false,其中有一项符合条件则不在向下进行  (返回true或者false)
var list=["1",'2','3','4']
const bon=list.some(item=>item>3)
==>  bon=true
//3.0 every根据条件去循环没一项,都符合返回true,其中只要一项不符合返回false
var list=["1",'2','3','4']
const bon=list.every(item=>item>1)
==>  bon=false  //因为其中一个item===1,不符合条件
//4.0 reduce根据数组中的每个值(从左到右)开始缩减,最终计算为一个值
var list=["1",'2','3','4']
const sum= list.reduce((a,b)=>a+b)
==>  sum='1234'
//5.0 concat,合并两个或多个数组,生成一个新的数组。原数组不变
var str1=["1",'2','3','4']
var num1=[1,2,3,4]
const arr=str1.concat(num1)
arr==>['1', '2', '3', '4', 1, 2, 3, 4]
//6.0 join,将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
var str1=["1",'2','3','4']
str1.join("-")
==>  '1-2-3-4' 成为一个字符串
//7.0 reverse,将数组倒序。原数组改变
var str1=["1",'2','3','4']
str1.reverse()
==> ['4', '3', '2', '1'] 
//8.0 sort,对数组元素进行排序。按照字符串UniCode码排序,原数组改变
var list=["1",'2','3','4','6','9','0']
list.sort((a,b)=>a-b) //a-b从小到大
==>  ['0', '1', '2', '3', '4', '6', '9']
list.sort((a,b)=>b-a)//b-a从大到小
==>  ['9', '6', '4', '3', '2', '1', '0']
//9.0 map,原数组的每一项执行函数后,返回一个新的数组。原数组不变。
var list=["1",'2','3','4','6','9','0']
list.map(item=>item+1)
==>   ['11', '21', '31', '41', '61', '91', '01']
//10 slice, 按照条件查找出其中的部分内容,是否改变原数组:不改变
var list=["1",'2','3','4','6','9','0']
//10.1 ==> list.slice(n, m),从索引n开始查找到m处(不包含m)
list.slice(2, 5)
==>  ['3', '4', '6'] //索引2-5的值,不包含下标为5的值 ‘9’
//10.2 ==> list.slice(n) 第二个参数省略,则一直查找到末尾
list.slice(2)
==>   ['3', '4', '6', '9', '0'] //索引为2和后面所有的值
//10.3 ==> list.slice(0) 原样输出内容,可以实现数组克隆
list.slice(0)  //没有引用数据类型则是深拷贝,有的是浅拷贝,拷贝的是引用数据类型的地址
==>  ["1",'2','3','4','6','9','0']
// 11splice(index,howmany,arr1,arr2…) ,用于添加或删除数组中的元素。从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。howmany为0时,则不删除元素。
var list=['张三','李四','王五','刘麻子']
list.splice(3) //代表删除3个元素
==>  ['刘麻子']
//11.1 
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi"); //表示从第二个元素开始删除1项,新加后面2项
==>  ["Banana","Orange","Lemon","Kiwi","Mango"]
//11.2 
fruits.splice(2,0,"Lemon","Kiwi");//表示从第二个元素开始删除0项,新加后面2项
==> ["Banana","Orange","Lemon","Kiwi","Apple","Mango"]
//12 indexOf() 检测当前值在数组中第一次出现的位置索引,找到返回当前下标,找不到返回-1
var list=["1",'2','3','4','6','9','0']
list.indexOf('4')
==> 3 
list.indexOf('10')
==> -1
//13 includes()判断一个数组是否包含一个指定的值 返回布尔值
var list=["1",'2','3','4','6','9','0']
list.includes('1')
==> true
list.includes('10')
==> false
//14 find() 找到并返回符合的值,找不到则是undefined
var list=["1",'2','3','4','6','9','0']
list.find(item=>item==='10')
==> undefined
var list=["1",'2','3','4','6','9','0']
list.find(item=>item==='1')
==> '1'
var list=["1",'2','3','4','6','9','0']
list.find(item=>item==='4')
==> '4'
//14.1 
if(undefined){
    console.log(1)
}else{
    console.log(2)
}
==>  2

if(null){
    console.log(1)
}else{
    console.log(2)
}
==>  2

*****************************************************************************************************

原数组改变的方法有:push pop shift unshift reverse sort splice
不改变原数组的方法有:concat map filter join every some indexOf slice forEach

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农夫_山泉水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值