js数组的一些方法及使用

334 阅读3分钟
Array.length()
Array.length //用来求个数组的长度
 var arr = [1, 2, 3, 4, 5]
  console.log(arr.length) //5
Array.from()
Array.from //通过长度来创建数组
var arr = Array.from("woshihhh");
console.log(arr); //['w', 'o', 's', 'h', 'i', 'h', 'h', 'h']
Array.isArray()
Array.isArray //判断是否为数组
var str = "asdas";
console.log(Array.isArray(str));//false
var arr = [1,2,3,4];
console.log(Array.isArray(arr));//true
Array.of()
Array.of //将数值转为数组
const arr = Array.of(1,2,3,4,5);
console.log(arr);// [1,2,3,4,5]
concat()
concat //合并数组并返回新的数组
var arr = [1,2];
var brr = [3, 4,5];
var value = arr.concat(brr);
console.log(value); //[1, 2, 3, 4, 5]
sort()
sort() //排序,()里面是个方法不写默认升序
var arr = [1, 5, 3, 6, 9, 2]
console.log(arr.sort((max, min) => {
return max - min
})); //[1, 2, 3, 5, 6, 9]

console.log(arr.sort((max, min) => {
return min - max
})); //[9, 6, 5, 3, 2, 1]
every()
every()//判断数组中是否都满足条件是true否false
var arr = [1, 2, 3, 4, 5]
const res = arr.every((value) => {
return value > 0
})
console.log(res)//true

const res = arr.every((value) => {
return value > 3
})
console.log(res)//false
fill()
fill()//让数组所有的值与传入的值一样
var arr = [1, 2, 3, 4, 5]
console.log(arr.fill(1)) //[1, 1, 1, 1, 1]
filter()
filter()//根据条件返还一个数组
var arr = [1, 2, 3, 4, 5]
const res = arr.filter((item) => {
return item > 2
})
console.log(res)//[3, 4, 5]
find()
find()//查找 没有undefined 如果遇到符合条件停止遍历并返回
var arr = [1, 2, 3, 4, 5]
const res = arr.find((item) => {
return item > 3
})
console.log(res)//4
findIndex()
findIndex()//查找下标 没有-1 如果遇到符合条件停止遍历并返回下标
var arr = [1, 2, 3, 4, 5]
const res = arr.findIndex((item) => {
return item > 3
})
console.log(res)//3
forEach()
forEach()//遍历数组每一项
var arr = [1, 2, 3, 4, 5]
arr.forEach((item) => {
console.log(item)
})//1,2,3,4,5
includes()
includes()//数组是否包含传入的值 是true 否 false
var arr = [1, 2, 3, 4, 5]
console.log(arr.includes(22))//false

var arr = [1, 2, 3, 4, 5]
console.log(arr.includes(4))//true
indexOf()
indexOf()//在数组中查找元素并返回下标
var arr = [1, 2, 3, 4, 5]
console.log(arr.indexOf(4))//3
join()
join()//将数组转为字符串
var arr = [1, 2, 3, 4, 5]
console.log(arr.join(""))//12345
map()
map()//返回新数组结果是每一个return的值
let arr = [1, 2, 3, 4, 5];
let res = arr.map((item) => {
    return item*1;
})
console.log(res)  //[2, 3, 4, 5, 6]
pop()
pop//删除数组最后一项并返回删除的元素
let arr = [1, 2, 3, 4, 5];
console.log(arr.pop())//5
push()
push()//在数组尾部添加
let arr = [1, 2, 3, 4, 5];
arr.push(11)
console.log(arr)//[1, 2, 3, 4, 5, 11]
reduce()
reduce()//计算
var arr = [1, 2, 3, 4];
var src = arr.reduce((prev, cur) => {
return prev + cur;
},0)//初始值
console.log(src);// 10
reverse()
reverse()//翻转数组
var arr = [1, 2, 3, 4];
console.log(arr.reverse())//[4, 3, 2, 1]
shift()
shift()//删除数组第一项
var arr = [1, 2, 3, 4];
arr.shift()
console.log(arr)//[2, 3, 4]
slice()
slice()//传两个值开始和结束的下标(不包括结束下标),形成新数组
var arr = [1, 2, 3, 4];
console.log(arr.slice(0, 2))//[1, 2]
some()
some()//跟判断条件来判断数组某一项是否符合是true并停止遍历否false
var arr = [1, 2, 3, 4];
const res = arr.some((item) => {
return item > 3
})
console.log(res)//true

const res = arr.some((item) => {
return item > 4
})
console.log(res)//false
splice()
splice()//删除或添加或修改
var arr = [1, 2, 3, 4];
arr.splice(0, 1)
console.log(arr)//[2, 3, 4]

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

var arr = [1, 2, 3, 4];
arr.splice(0, 1, 3, 7)
console.log(arr)//[3, 7, 2, 3, 4]
toString()
toString()//返回字符串与join区别在于()里面放不了东西
var arr = [1, 2, 3, 4];
console.log(arr.toString())//1,2,3,4
unshift()
unshift()//在数组的头部添加
var arr = [1, 2, 3, 4];
arr.unshift(666)
console.log(arr)//[666, 1, 2, 3, 4]
valueOf()
valueOf()//返回数组本身
var arr = [1, 2, 3, 4];
console.log(arr.valueOf())//[1, 2, 3, 4]
copyWithin()
copyWithin()//拷贝
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
console.log(arr.copyWithin(6, 2, 4))//[1, 2, 3, 4, 5, 6, 3, 4] 从下标2开始到4-1结束复制再从下标为6开始粘贴 
lastIndexOf()
lastIndexOf()//查找出现最后一次的位置返回下标
var arr = [1, 2, 6, 5, 7, 2, 3];
console.log(arr.lastIndexOf(2))//5