数组方法

数组方法
concat()
连接两个或多个数组,并返回结果。

let arr1 = [0, 1, 2, 3]
let arr2 = [4, 5, 6]
let res = arr1.concat(arr2) // [0,1,2,3,4,5,6]
var arr1 = [0, 1, 2]
var arr2 = [3, 4, 5, [6, 7, 8]]
arr1.concat(arr2) // [0,1,2,3,4,5,[6,7,8]]]
every()
检测数组所有元素是否符合条件(通过函数提供)

🤡:如果所有元素都满足条件,则返回`true

🤡:如果数组中检测到有一个元素不满足,则整个表达式返回false ,且剩余的元素不会再进行检测

var arr = [0, 1, 2, 3]
arr.every(x => {
return x < 5
})
// 返回 true
fill()
使用一个固定值来填充数组。 array.fill(value, start, end)

let arr = [0, 1, 2]
arr.fill(‘hello’)
// [‘hello’,‘hello’,‘hello’]
copyWithin()
从数组的指定位置拷贝元素到数组的另一个指定位置中

array.copyWithin(target, start, end)
/*

  • target: 必选,赋值到指定目标索引位置
  • start:(可选)复制起始位置
  • end: (可选)复制结束位置,默认array.length如果为负值,表示倒数。
    */
    var arr1 = [‘hello’, ‘world’, ‘copy’]
    arr1.copyWithin(0, 1, 2) // 插入到0,起始:1,结束:2
    // arr1 = [“world”, “world”, “copy”]
    every()
    检测数组所有元素是否符合条件(通过函数提供)

🤡:如果数组中检测到有一个元素不满足,则整个表达式返回false ,且剩余的元素不会再进行检测

🤡:如果所有元素都满足条件,则返回true

var arr = [0, 1, 2, 3]
arr.every(x => {
return x < 5
})
// 返回 true
find()
返回符合传入测试(函数)条件的数组元素

🤡:当数组中的元素在测试条件时返回true时,find()返回符合条件的元素,之后的值不会再调用执行函数。

🤡:如果没有符合条件的元素返回undefined

var arr = [0, 2, 5, 6]
arr.find(x => {
return x > 5
})
// return 6
filter()
检测数值元素,并返回符合条件所有元素的数组。

🤡filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var arr = [0, 2, 5, 6]
arr.filer(x => {
return x % 2 === 0
})
// return [0,2,6]
findIndex()
返回符合传入测试(函数)条件的数组元素索引。

🤡 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。

🤡 如果没有符合条件的元素返回 -1

var arr = [0, 2, 5, 6]
arr.findIndex(x => {
return x === 2
}) // 1
arr.findIndex(x => {
return x === 200
}) // -1 没有找到
from()
通过给定的对象中创建一个数组。

const obj = { name: ‘张三’, age: 10 }
Array.from(obj).forEach(item => item)
includes
判断一个数组是否包含指定的值

🤡 如果是返回 true,否则 false。

arr.includes(searchElement, fromIndex)
/**

  • searchElement:要查找的值
  • formIndex:起始位置
    /
    var arr = [0, 2, 5, 6]
    arr.includes(1) // false
    arr.includes(5, 2) // true
    indexOf()
    返回item第一次出现的位置,没有找到返回-1
    array.indexOf(item, start)
    /
  • item:要查查找的值
  • start: (可选),起始位置
    */
    var arr = [0, 1, 2, 3, 5, 2]
    arr.indexOf(2) // 2
    arr.indexOf(200) // -1
    lastIndexOf()
    搜索数组中的元素,并返回它最后出现的位置。

join()
把所有的数组元素转换为一个字符串

array.join(separator)
/*

  • separator: 链接字符串的符号
    */
    var arr = [‘hello’, ‘world’]
    arr.join() // “hello,world”
    arr.join(’-’) // hello-world
    map()
    通过指定函数处理数组的每个元素,并返回处理后的数组。

var arr = [0, 12, 34, 5]
arr.map(x => {
return x * 4
})
// [0, 48, 136, 20]
shift()
删除并返回数组的第一个元素。

var arr = [0, 1, 2]
arr.shift() // 0
// arr = [1,2]
unshift()
向数组的开头添加一个或更多元素,并返回新的长度。

var arr = [1, 2, 3, 4]
arr.unshif(5) // 4
pop()
删除数组的最后一个元素并返回删除的元素。

🧐 此方法改变数组的长度!

var arr = [1, 2, 3, 4]
arr.pop() // 4
push()
向数组的末尾添加一个或更多元素,并返回新的长度。

var arr = [1, 2, 3, 4]
arr.push(5) // 4
reverse()
反转数组元素数序

var arr = [1, 2, 3, 4]
arr.reverse() // 4 3 2 1
slice()
选取数组的一部分,并返回一个新数组。

array.slice(start, end)
/**

  • start: (可选)起始位置 ,如果是负数,从尾部起始
  • end:(可选) 结束位置,默认到结束
    */
    some()
    检测数组元素中是否有元素符合指定条件

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回 false。
var arr = [0, 1, 2, 3, 4, 2, 8]
arrr.some(x => {
return x % 2 === 0
})
sort()
对数组元素进行排序

排序顺序可以是字母或数字,并按升序或降序。

默认排序顺序为按字母升序。

使用数字排序,你必须通过一个函数作为参数来调用。

var arr = [0,1,2,3,4,2,8]
arr.((a,b)=>{
return a-b
})
// [0, 1, 2, 2, 3, 4, 8]
arr.((a,b)=>{
return b-a
})
// [8, 4, 3, 2, 2, 1, 0]

function compareNumeric(a, b) {
if (a > b) return 1;
if (a == b) return 0;
if (a < b) return -1;
}
splice()
从数组中添加或删除元素。

返回值:移除的元素

🧐 这种方法会改变原始数组。

array.splice(index,howmany,item1,…,itemX)
/*

  • index: 起始位置
  • howmany:(可选)删除的个数
  • item: (可选)添加的元素
    **/
    var arr = [‘hello’, ‘hi’]
    arr.splice(0, 1) // 返回删除的元素[“hello”]
    arr.splice(0, 1, ‘goodby’) // 返回删除的元素[“hello”]
    arr.splice(0, 0, ‘goodby’) // 返回删除的元素[]
    includes()
    判断数组是否包含一个指定的值,返回true和false

const array = [1, 2, 3]
array.includes(2) // true
map()
方法创建一个新数组,其结果是该数组中每个元素调用一次提供的函数的返回

const array = [1, 2, 3, 4, 5, 6, 8]
const map1 = array.map(x => x % 2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值