JavaScript数组常用的实例方法

  1 concat()
    连接两个或更多的数组,并返回结果

let arr = [1,2,3]
let arr2 = [4,5,6]
let arr3 = [7,8,9]

arr.concat(arr2,arr3)
console.log(arr)   // [1,2,3,4,5,6,7,8,9]

  2 join()
    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔
    参数可选,指定要使用的分隔符

let arr = new Array(3)
arr[0] = 1
arr[1] = 2
arr[2] = 3

console.log(arr.join(','))   //1,2,3

3 pop()
删除并返回数组的最后一个元素

let arr = ["1", "2", "3", "4"];
arr.pop();
console.log(arr)  // ["1","2","3"]

4 push()
向数组的末尾添加一个或更多元素,并返回新的长度

let arr = [1,2,3];
arr.push(4)
console.log(arr)  // [1,2,3,4]

5 shift()
删除并返回数组的第一个元素。

let arr = [1,2,3,4]
arr.shift()
console.log(arr)  // [2,3,4]

6 unshift()
向数组的开头添加一个或更多元素,并返回新的长度。

letarr= [2,3,4]
arr.unshift(1)
console.log(arr)  // [1,2,3,4]

7 reverse()
反转数组中元素的顺序

var fruits = [1,2,3,4];
fruits.reverse()
console.log(fruits )  // [4,3,2,1]

8 splice(index,howmany,item)
从数组中添加或删除元素。
参数 :

    index 规定从何处添加元素
    howmany 可选。规定应该删除多少元素。必须是数字,但可以是 “0”。
    item1, …, itemX 可选。要添加到数组的新元素

let arr = [1,2,3,4]
arr.splice(0,1)
console.log(arr) //  [2,3,4]

  

9 slice()
选取数组的的一部分,并返回一个新数组。不会改变原数组。
参数:

    start 可选,规定从何处开始选取。(数组下标)
    end 可选,规定从何处结束选取。(数组下标),结束位置不会被截取

let arr = [1,2,3,4]
console.log(arr.slice(1,3)) // [2,3]

10 indexOf()
搜索数组中的元素,并返回它所在的位置。

let arr = [5,2,1,3,4]
console.log(arr.indexOf(1))
// 2

11 includes()
判断一个数组是否包含一个指定的值。

let arr = [5,2,1,3,4]
console.log(arr.includes(1))
// true
console.log(arr.includes(0))
// false

12 every()
检测数值元素的每个元素是否都符合条件。
只有全部符合条件才会返回true,否则返回false
可以用来做单选全部选中,然后全选选中的业务。

// every循环定义的临时数组
// every()方法,针对数组中的每一个元素进行比对
// 只要有一个元素比对结果为false则返回false
// 反之要所有的元素比对结果为true才为true
let result = tempArr.every(item=>{
    // 对数组中每一项的选中状态比较  是否为选中状态 也就是true
    return item.checked == true
})

13 find()
返回符合传入测试(函数)条件的数组元素。

let arr = [5,2,1,3,4]
let index = arr.find(item=>item<2)
console.log(index)  // 1

13 findIndex()
返回符合传入测试(函数)条件的数组元素索引。
可以用来对数组去重

let index = state.findIndex(item => {
    return item.id === list.id
})
if (index !== -1) {
  state[index].count += 1;
} else {
    list.checked = false
    state.push(item)
}

14 forEach()
数组每个元素都执行一次回调函数。
可以对数组进行深拷贝,还可以添加一些判断条件

    // 定义一个临时数组
let tempArr = []
let state = [1,1,{hobby:'王者荣耀'}]
state.forEach(item=>{
  tempArr.push(item)
})
console.log(tempArr);、//[1,1,{hobby:'王者荣耀'}]

15 filter()
检测数值元素,并返回符合条件所有元素的数组。

let arr = [5,2,1,3,4]
let index = arr.filter(item=>{
    return item>3
})
console.log(index)  // [5, 4]

16 map()
通过指定函数处理数组的每个元素,并返回处理后的数组。

let arr = [5,2,1,3,4]
arr.map(value=>{
    return value*value
})
//  [25, 4, 1, 9, 16]

17 some()
检测数组元素中是否有元素符合指定条件。

    如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    如果没有满足条件的元素,则返回false。

let arr = [5, 2, 1, 3, 4];
let temp = arr.some((value) => {
  return value > 6
});
console.log(temp) //  false

18 reduce

arr.reduce(function(prev,cur,index,arr){

...

}, init);
arr 表示原数组;
prev 表示上一次调用回调时的返回值,或者初始值 init;
cur 表示当前正在处理的数组元素;
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
init 表示初始值。

// 获取最大值
let arr = [1,9,3,5,7]
let maxValue = arr.reduce(function (v1, v2) { return v1 > v2 ? v1 : v2 }, 0)
console.log('最大值', maxValue) //9

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值