js中常用的数组高级函数

// 1.---------Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例---------。
let ary1 = [1, 2, 3, 4]
// console.log(Array.from(ary1, x => x * 2))
// 返回—[ 2, 4, 6, 8 ]

// 2.--------- Array.isArray() 方法用于确定传递的值是否是一个 Array。---------

// console.log(Array.isArray(ary1))
// 返回—ture 这里的ary1 是一个数组

// 3.---------Array.prototype.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组//---------
let ary2 = [1, 2, 3]
let ary3 = [4, 5, 6]
// console.log(ary2.concat(ary3))
// 返回—[ 1, 2, 3, 4, 5, 6 ] 合并数组

// 4.---------Array.prototype.every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。---------

var ary4 = [32, 33, 16, 40];
// console.log(ary4.every((e) => { return e > 16 }))
// 返回—false 因为 索引2的16 不比该数字大

// 4.1---------Array.prototype.some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。。---------

// console.log(ary4.some((e) => { return e > 16 }))
// 返回—ture 因为该数组中有比16大的元素

// 5.---------Array.prototype.fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部索引,不包括终止索引---------
let ary5 = [1, 2, 3, 4, 5]
// console.log(ary5.fill(5,1,3))
// 返回—[1, 5, 5, 4, 5] 第一个参数是要填充的值。 第二个参数是从哪里开始 第三个参数是结束位置

// 6.---------Array.prototype.filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 ---------
let ary6 = [1, 2, 3, 4, 5]
// console.log(ary6.filter((ele) => { return ele > 2 }))
// 返回—[ 3, 4, 5 ] 这里3 4 5都要比2大

// 7.---------Array.prototype.find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。---------
let ary7 = [1, 2, 3, 4, 5]
// console.log(ary7.find((ele)=>{return ele>2}))
// 返回— 3 因为这里返回的是值

// 8.---------Array.prototype.findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。。---------
let ary8 = [10, 2, 3, 4, 5]
// console.log(ary8.findIndex((item) => { return item > 2 }))
// 返回— 0 因为索引0的10已经大于了2 所以返回0

// 9.---------Array.prototype.forEach() 方法对数组的每个元素执行一次提供的函数。。。---------
let ary9 = [1, 2, 3, 4, 5]
// ary9.forEach((item) => { console.log(item) })
// 返回— 这里遍历了该数组

// 10.---------Array.prototype.includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。。。。---------
let ary10 = [1, 2, 3, 4, 5]
// console.log(ary10.includes(2))
// 返回— true 包含2

// 11.---------Array.prototype.indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。---------
let ary11 = [1, 2, 3, 4, 5]
// console.log(ary11.indexOf(5))
// 返回— “4”

// 12.---------Array.prototype.join()方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
let ary12 = [1, 2, 3, 4, 5]
// console.log(ary12.join(""))
// 返回— “12345” 这里把数组转成了字符串 并进行了 拼接

// 13.---------Array.prototype.map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

let ary13 = [1, 2, 3, 4, 5]
// console.log(ary13.map((item) => { return item * 2 }));
// 返回— “[ 2, 4, 6, 8, 10 ]” 这里把数组中每个元素都进行了处理 返回了一个新数组

// 14.---------Array.prototype.reduce()方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
let ary14 = [0, 1, 2, 3, 4]
// console.log(ary14.reduce((prev, v, idx, arr) => { return prev + v }))
// 返回–15 这里的15 是每次prev+v 的返回值。相加
// 这里第一轮回调函数执行结束时是 0+1,
// 第二轮回调函数执行的是 1 +2 ,
// 第三次回调函数执行的是 3+3,
// 第四次回调函数执行的是 6+4,
// 所以最后的值是15

// 15.---------Array.prototype.reverse()方法将数组中元素的位置颠倒,并返回该数组。
let ary15 = [0, 1, 2, 3, 4]
// console.log(ary15.reverse())
// 返回— [ 4, 3, 2, 1, 0 ]
// 该方法将数组给反转掉

// 16.---------Array.prototype.slice(start,end)方法返回一个新的数组对象。
// 如果这里填写一个参数,即则是从数组开头到结束要删除的长度
//如果是两个参数 则是一个start,end
let ary16 = [0, 1, 2, 3, 4]
// console.log(ary16.slice(1, 2))
// 这里返回[ 1 ] 截取返回新的数组为[1]

// 17.---------Array.prototype.splice(start,end) 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
// arrayObject.splice(index, howmany, item1, …, itemX)
// 参数 描述
// index 必需。整数,规定添加 / 删除项目的位置,使用负数可从数组结尾处规定位置。
// howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
// item1, …, itemX

let ary17 = [0, 1, 2, 3, 4]
// console.log(ary17.splice(1, 1))
// console.log(ary17)
// 这里返回–[0,2,3,4]

// 18.---------Array.prototype.splice(start,end) 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的
let ary18 = [5, 2, 3, 1, 9]
// 这里做一个升序 即从小到大
// console.log(ary18.sort((start, end) => {
// //当前与下一个相比较 如果大 给一个正值。 则是升序
// if (start > end) {
// return 1
// } else {
// return -1
// }
// }))

// 19.---------Array.prototype.flat() 多唯数组转为单唯数组。---------
let ary19 = [[1, 2], [3, 4], [4, 5]]
// console.log(ary19.flat())
// 返回[ 1, 2, 3, 4, 4, 5 ]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值