数组的常用方法
push()
这个方法是在数组的后面添加新加元素,此方法改变了数组的长度。
let fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")
//输出结果:Banana, Orange, Apple, Mango, Kiwi,
pop()
这个方法在数组的最后一位删除一个元素,并返回了数组,此方法也改变了数组长度。
let arr = [1, 2, 3, 4, 5]
arr.pop()
console.log(arr) //[1, 2, 3, 4]
console.log(arr.length) //4
unshift()
这个方法是将一个或多个元素添加到数组的开头,并返回新数组的长度。
let arr = [1, 2, 3, 4, 5]
arr.unshift(6, 7)
console.log(arr) //[6, 7, 1, 2, 3, 4, 5]
console.log(arr.length) //7
isArray()
· 判断一个对象是不是数组,返回的是布尔值。
function myFunction() {
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = document.getElementById("demo");
x.innerHTML = Array.isArray(fruits);
}
concat()
. 此方法是一个可以将多个数组拼接成一个数组。
let arr1 = [1, 2, 3]
arr2 = [4, 5]
let arr = arr1.concat(arr2)
console.log(arr)//[1, 2, 3, 4, 5]
toString()
这个方法是将数组转化为字符串。
let arr = [1, 2, 3, 4, 5];
let str = arr.toString()
console.log(str)// 1,2,3,4,5
join()
这个方法也是将数组转化为字符串。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.join())
//打印结果:George,John,Thomas
splice(开始位置, 删除的个数,元素)
万能方法,可以实现增删改。
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0 'haha')
let arr2 = arr.splice(2, 3)
let arr1 = arr.splice(2, 1 'haha')
console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一个元素
console.log(arr2) //[1, 2] 删除三个元素
console.log(arr3) //[1, 2, 'haha', 4, 5] 替换一个元素
map()
此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组。
let arr = [1, 2, 3, 4, 5]
let newArr = arr.map(x => x*2)
//arr= [1, 2, 3, 4, 5] 原数组保持不变
//newArr = [2, 4, 6, 8, 10] 返回新数组
forEach()
这个方法是循环遍历数组中的每一项数据,没有返回值,但是注意和map方法区分。
var array = ['a', 'b', 'c', 'e'];
array.forEach((a)=> {
console.log(a);
});
//打印结果:a b c e
filter()
这个方法是将数组中所有元素进行判断,符合条件的元素作为一个新的数组返回。
let arr = [1, 2, 3, 4, 5]
const isBigEnough = value => value >= 3
let newArr = arr.filter(isBigEnough )
//newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组
every()
这个方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false
let arr = [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 => value => value < 6
arr.every(isLessThan4 ) //false
arr.every(isLessThan6 ) //true
some()
这个方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false
let arr= [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 = value => value > 6
arr.some(isLessThan4 ) //true
arr.some(isLessThan6 ) //false
reduce()
这个方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型。
let arr = [1, 2, 3, 4, 5]
const add = (a, b) => a + b
let sum = arr.reduce(add)
//sum = 15 相当于累加的效果
与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的