数组的一些操作方法学习概括

数组的基本操作

创建数组
  1. 字面量创建
let arr = []
  1. new 一个数组
    let arr = new Array()

数组常用方法

  1. isArray
let arr = []
let isArr = Array.isArray(arr)
console.log(isArr) // true
  1. instanceof
	let istrue = arr instanceof Array
   	console.log(istrue); // true
  1. join()将数组转化为字符串,参数传分割符
let arr = [1,2,3,4,3,5]
console.log(arr.join('')); // 123435
console.log(arr.join(',')); // 1,2,3,4,3,5
数组增删改查操作

push向数组末尾添加一个元素,pop从数组末尾删除一个元素
unshift向数组头部添加一个元素,shift从数组头部删除一个元素

 		push方法末尾添加一个或多个元素
		let arr = new Array()
        arrL = arr.push(3,4,5,6) // 返回数组的长度
        console.log(arr) //  [3,4,5,6]
        
		unshift方法 向数组的开头添加元素
		let arrL1 = arr.unshift(1,2) // 返回数组长度
        console.log(arr) // [1,2,3,4,5,6]

		pop方法 删除数组最后一个元素
		let arrL2 = arr.pop() // 返回删除的元素

		shift方法  删除数组的第一个元素
		let arrL3 = arr.shift() // 返回删除的元素
        console.log(arrL3)

splice()方法可以进行删除操作,删除并新增操作

		var arr = [1, 3, 4, 5];
        arr.splice(1, 1); //从索引为1开始删除1个,
        arr.splice(0, 2, "andy", "andi"); //从索引为0开始修改两个值;
        arr.splice(1, 0, 6, 7); //从索引为1前面增加两个值

slice截取数组返回一个新数组,源数组不变,第一个参数是起始位置,第二个参数传结束索引,截取的是起始位置到结束索引之前的项

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

indexOf 根据字符返回索引,没有返回-1

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

lastIndexOf 根据字符返回字符最后一项所在的索引位置

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

includes 判断数组是否包含某一项,返回布尔值

console.log(arr.includes(2))
// true

find 查询符合条件的一项或者从首部开始最先符合条件的一项

let newArr = arr.find((item,index) => {
    return index > 1
})
console.log(newArr); // 2

findIndex 查询符合条件的一项的所在位置的索引或者从首部开始最先符合条件的一项的索引

    let newarr = arr.findIndex((item,index) => {
   		 return item ==  2
	})
	console.log(newarr);
	// 1
数组排序和翻转
    // 默认升序排列
    newArr.sort()
    // 降序排列
    newArr.sort(function(a,b) {
        return b-a;
    })
    // 升序排列
    newArr.sort(function(a,b) {
        return a-b;
    })
let arr = [1,2,3,4]
console.log(arr.reverse());
// [ 4, 3, 2, 1 ]
合并数组
  • concat
let arr = [1,2,3]
let arr1 = [4,5,6]
let arr2 = [7,8,9]
let newarr = arr.concat(arr1)
// [1,2,3,4,5,6]
let newArr = arr.concat(arr1,arr2)
// [1,2,3,4,5,6,7,8,9]
  • 扩展运算符
  		 let arr1 = [1, 2, 3];
        let arr2 = [4, 5, 6];
        let arr3 = [...arr1, ...arr2];
        console.log(arr3); // [1,2,3,4,5,6]
遍历数组

forEach普通遍历数组,并执行操作

let arr = [1,2,3,4,3,5]
let newarr = []
 arr.forEach(item => {
    newarr.push(item * 2)
})
console.log(newarr); // [ 2, 4, 6, 8, 6, 10 ]

filter过滤数组,返回符合条件的新数组

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

some判断数组内是否有符合条件的项,返回一个布尔值

let arr = [1,2,3,4]
let isHas = arr.some((item,index) => {
    return item > 3
})
console.log(isHas); // true

every判断数组内是否全部符合某一条件,返回一个布尔值

let arr = [1,2,3,4]
let isEvery = arr.every((item,index) => {
    return item > 3
})
console.log(isEvery); // false
let isEvery2 = arr.every((item,index) => {
    return item > 0
})
console.log(isEvery2); // true

map计算数组项并返回新的值组成的数组

let arr = [1,2,3,4]
let newarr = arr.map((item,index) => {
    return item * 2
})
console.log(newarr); // [ 2, 4, 6, 8 ]

reduce可以对数组里面的每一项执行计算并返回一个结果数值,函数有四个参数,分别是上次的执行结果,当前项,当前项索引,源数组

let arr = [1,2,3,4]
let newVal = arr.reduce((sum,curr,index,arr) => {
    return sum + curr
})
console.log(newVal); // 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值