数组的方法

Array.from()
// 1.
Array.from('abc')//['a','b','c']
// 2.
let arr=[1,2,3];
Array.from(arr,(item)=>{console.log(item)})//1,2,3

返回值】:新的数组实例

Array.isArray()

作用】:判断是否为数组.

Array.isArray([1]) //true

返回值】:布尔值.

Array.of()

作用】:生成数组

Array.of(1)//[1]    创建新的数组,参数是任意类型

返回值】:新的数组实例

concat()

作用】:合并数组

  let arr=[1,2],arr2=[3,4],arr3=[5,6];
  let newArr=arr.concat(arr2,arr3) //[1,2,3,4,5,6]
  console.log(arr) //[1,2]

返回值】:新的数组实例,不改变原数组

every()

作用】:数组中所有元素是否都满足条件

let arr=[1,2,3];
arr.every(item => item > 1)//false
arr.every(item => item > 0)//true

返回值】:布尔值

filter()

作用】:获取数组中满足条件的元素

let arr=[1,2,3];
let newArr=arr.filter(item => item > 1) //[2,3]

返回值】:满足条件的元素数组,不改变原数组

find()

作用】:查找数组中符合条件第一个元素的值

let arr=[1,2,3],arr2=[{val:1},{val:2},{val:3}];
arr.find(item => item >= 1)//1
arr2.find(item => item.val > 1) //{val:2}
//和filter的区别:find方法返回符合条件的第一个元素,filter则是返回符合条件的所有元素,返回新的数组

返回值】:符合条件的元素,不改变原数组

findIndex()

作用】:查找数组中满足条件的第一个元素的索引

let arr=[1,2,3];
arr.findIndex(item => item > 1) // 1
arr.findIdnex(item => item > 4) //-1

返回值】:第一个符合条件的索引,没有则返回 -1

flat()

作用】:数组扁平化

let arr = [1, 2, [3, 4]];
arr.flat() //[1, 2, 3, 4]
let arr1=[1,[2,[3]]]
arr1.flat(2) // [1, 2, 3];
//使用 Infinity,可展开任意深度的嵌套数组
arr1.flat(Infinity) //[1, 2, 3]

返回值】:新的数组,不改变原数组

forEach()

作用】:遍历数组

返回值】:无返回值

includes()

作用】:查找数组中是否包含某一项

let arr=[1,2,3];
arr.includes(2) //true
let arr2=[1,2,1,3,4,5,6];
// 第二个参数为查找的索引起始位置(包含),为负数则从后向前的绝对值
arr2.includes(2,1) //true
arr2.includes(2,2) //false
arr2.includes(2,-6) //true
let str='abc';
// 也可以查找字符串是否包含某个字符
str.includes('a') //true

返回值】:布尔值

indexOf()

作用】:数组中(字符串)包含指定元素的第一个索引

// 特别说明
// indexOf的第二个参数,从第几个开始,为负数则从后向前
let arr=[1,2,3,2];
arr.indexOf(2,2) // 3 
arr.indexOf(2,5) // -1 为正数的时候,如果大于length,则返回-1
arr.indexOf(2,-3) // 1 
arr.indexOf(2,-5) // 1 如果绝对值大于length,则从数组第一项开始找

返回值】:索引值或 -1

join()

作用】:将数组分割成字符串并进行连接

返回值】:字符串,不改变原数组

lastIndexOf()

作用】:数组(字符串)中最后一个指定元素的索引

//特别说明
//lastIndexOf第二个参数
let arr=[1,2,3,2];
arr.lastIndexOf(2,2) // 1 正数为查找到第几个索引为止
arr.lastIndexOf(2,-3) //1 负数为从后向前,查找到第几个索引(绝对值),大于length则返回 -1 

返回值】:索引值或 -1

map()

作用】:遍历数组

返回值】:元素执行函数后组成的新数组

pop()

作用】:删除数组的最后一项

返回值】:删除的元素,改变原数组

push()

作用】:数组后添加一或多项

返回值】:数组的长度,改变原数组

shift()

作用】:删除数组第一项

返回值】:删除的元素,改变原数组

unshift()

作用】:数组前添加一项或多项

返回值】:数组的长度,改变原数组

reduce()

作用】:对数组中的每个元素按序执行一个 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值

  • 参数:callbackFn, initialValue
  • callbackFn
    • previousValue: 上一次调用的返回值
    • currentValue: 当前正在处理的数据项
    • currentIndex: 当前正在处理数据项的索引
    • array: 数据源
  • initialValue: 为第一次调用 callback 函数时参数 previousValue 的值

返回值】:使用 reducer回调函数遍历整个数组后的结果。不改变原数组

reverse()

作用】:翻转数组

返回值】:翻转后的数组,改变原数组

slice()

作用】:返回数组或字符串的一部分

let arr=[1,2,3,4]
arr.slice() // [1,2,3,4]
arr.slice(2) //[3]
arr.slice(4) // []
arr.slice(-2) // [3,4] 如果该参数为负数,表示从原数组中的倒数第几个元素开始提取到最后一个
arr.slice(2,3)//3 不包含end

返回值】:新数组或新的字符串,不改变原数组

some()

作用】:数组中是否有元素满足传入的函数条件

返回值】:布尔值

sort()

作用】:数组排序

如果指明了 fn,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:

如果 fn(a, b) 小于 0 ,那么 a 会被排列到 b 之前;
如果 fn(a, b) 等于 0 , a 和 b 的相对位置不变。
如果 fn(a, b) 大于 0 , b 会被排列到 a 之前。
fn(a, b) 必须总是对相同的输入返回相同的比较结果,否则排序的结果将是不确定的。

返回值】:新数组,改变原数组

splice()

作用】:删除或替换现有元素或者原地添加新的元素来修改数组

let arr = [1,2,3,4];
arr.splice(2) // [3,4] //arr:[1,2]
arr.splice(-2) // [3,4] //arr:[1,2]
arr.splice(2,2) // [3,4] //arr:[1,2]
arr.splice(2,0,2)//[] //arr:[1,2,2,3,4]
arr.splice(2,1,2) // [] arr:[1,2,2,4]

返回值】:被删除元素组成新数组,改变原数组

toString()

作用】:将数组转换成字符串

和join()的区别:join()可以指定连接符

返回值】:字符串,不改变原数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值