深入浅出JavaScript之Array方法

创建数组

var arr = ["a","b","c"]
console.log(arr)  //["a","b","c"]

通过索引访问数组元素

console.log(arr[0])  // a

forEach遍历数组

arr.forEach((item,index) => {
	console.log(item,index)
})
// a 0
// b 1

push添加元素到数组的末尾

var str = "c"
arr.push(str)
console.log(arr) // ["a","b","c"]

pop删除数组末尾的元素

arr.pop()
console.log(arr) // ["a","b"]

unshift添加元素至数组的最前面

arr.unshift('1')
console.log(arr) // ["1","a","b"]

shift删除数组最前面的元素

arr.shift()
console.log(arr) // ["a","b"]

indexOf找出某个元素在数组中的索引

var i = arr.indexOf("b")
console.log(i) // 1

splice通过索引删除数组中某个元素

arr.splice(1,1)
console.log(arr) // ["a"]

splice通过索引删除多个元素

arr.push('b')
console.log(arr) // ["a","b"]
arr.splice(0,2)
console.log(arr) // []

slice复制一个数组

var arr = [1,2,3]
var arr2 = arr.slice()
console.log(arr2) // [1,2,3]

Array.from从类数组对象或者可迭代对象中创建一个新的数组实例

var str = "abcd12"
console.log(Array.from(str)) // ["a","b","c","d","1","2"]

Array.isArray用来判断某个变量是否是一个数组对象

var arr = ["a","b"]
console.log(Array.isArray(arr)) // true

Array.of创建一个具有可变数量参数的新数组实例

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

concat合并两个或多个数组

var arr1 = ["a","b","c"]
var arr2 = ["d","e","f"]
var Arr = arr1.concat(arr2)
console.log(Arr) // ["a", "b", "c", "d", "e", "f"]

includes判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false

var arr = ["a", "b", "c", "d", "e", "f"]
console.log(arr.includes("c")) // true

join将数组的所有元素连接成一个字符串并返回这个字符串

var arr = ["a", "b", "c", "d", "e", "f"]
console.log(arr.join()) // a,b,c,d,e,f
console.log(arr.join("-")) // a-b-c-d-e-f , 可以指定分隔符,不指定默认是逗号

toString返回一个字符串,表示指定的数组及其元素

var arr = [1,2,"aa","11c"]
console.log(arr.toString()) // 1,2,aa,11c

lastIndexOf从后面查找元素第一次出现的索引

var arr = ["a","b","c","b"]
console.log(arr.lastIndexOf("b")) // 3

every测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值

var arr = [3, 4, 5, 6, 7]
var i = arr.every((x) => x > 1)
var i2 = arr.every((x) => x > 4)
console.log(i, i2) // true false

some试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值

var arr = [3, 4, 5, 6, 7]
var i = arr.some((x) => x > 4)
var i2 = arr.some((x) => x > 8)
console.log(i, i2) // true false

filter创建一个新数组, 其包含通过所提供函数实现的测试的所有元素

var arr = [1,2,3,4,5,6]
var newArr = arr.filter(el => el > 4)
console.log(newArr) // [5,6]

find返回数组中满足提供的测试函数的第一个元素的值

var arr = [1,2,3,4,5,6]
var ele = arr.find(el => el > 4)
console.log(ele) // 5

findIndex返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1

var arr = [1,2,3,4,5,6]
var i = arr.findIndex(el => el > 3)
var i2 = arr.findIndex(el => el > 6)
console.log(i,i2) // 3 -1

map创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值

var arr = [1,2,3,4,5,6]
var newArr = arr.map(el => {
	return el*2
})
console.log(newArr) // [2,4,6,8,10,12]

reduce对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值

var arr = [1, 2, 3, 4, 5, 6]
var i = arr.reduce((accumulator, currentValue) => {
	return accumulator + currentValue
})
var i2 = arr.reduce((accumulator, currentValue) => {
	return accumulator + currentValue
},5)
console.log(i,i2) // 21 26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值