一、Array对象
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
copyWithin() | 从数组的指定位置拷贝元素到数组的另一个指定位置中。(ES6) |
every() | 检测数值元素的每个元素是否都符合条件。 |
fill() | 使用一个固定值来填充数组。(ES6) |
filter() | 检测数值元素,并返回符合条件所有元素的数组。 |
find() | 返回符合传入测试(函数)条件的数组元素。 |
findIndex() | 返回符合传入测试(函数)条件的数组元素索引。 |
forEach() | 数组每个元素都执行一次回调函数。 |
indexOf() | 搜索数组中的元素,并返回它所在的位置。 |
join() | 把数组的所有元素放入一个字符串。 |
lastIndexOf() | 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。 |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
pop() | 删除数组的最后一个元素并返回删除的元素。 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reduce() | 将数组元素计算为一个值(从左到右)。 |
reduceRight() | 将数组元素计算为一个值(从右到左)。 |
reverse() | 反转数组的元素顺序。 |
shift() | 删除并返回数组的第一个元素。 |
slice() | 选取数组的的一部分,并返回一个新数组。 |
some() | 检测数组元素中是否有元素符合指定条件。 |
sort() | 对数组的元素进行排序。 |
splice() | 从数组中添加或删除元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值。 |
1、concat语法:array1.concat(array2,array3,...,arrayX)
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
console.log(hege.concat(stale, kai));
var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"];
fruits.copyWithin(2, 0, 2);
console.log(fruits);
3、fill语法:array.fill(value, start, end) 注意类比copyWidth语法
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob", 2, 4);
console.log(fruits);
4、ever语法:array.every(function(currentValue,index,arr), thisValue) 方法用于检测数组中的每个元素是否都满足指定条件 返回一个布尔类型的结果
var ages = [32, 33, 16, 40];
function checkAdult(age, index) {
return age >= 18;
}
console.log(ages.every(checkAdult)); //结果false
some语法:array.some(function(currentValue,index,arr),thisValue)方法用于检测数组中的元素是否满足指定条件(函数提供)。
var ages = [32, 33, 16, 40];
function checkAdult(age, index) {
return age >= 18;
}
console.log(ages.some(checkAdult)) //结果true
var ages = [32, 33, 16, 40];
function checkAdult(age, index) {
return age >= 18;
}
console.log(ages.filter(checkAdult))
6、forEach语法:array.forEach(function(currentValue, index, arr), thisValue)
var numbers = [65, 44, 12, 4];
function myFunction(item, index, arr) {
arr[index] = item * 10;
console.log(arr[index])
}
console.log(numbers.forEach(myFunction))
7、map语法:array.map(function(currentValue,index,arr), thisValue) 类比于forEach语法
var numbers = [65, 44, 12, 4];
function myFunction(item, index, arr) {
return item * 10;
}
console.log(numbers.map(myFunction))
对于forEach和map的比较:如果需要返回处理后的数组用map,如果不需要返回处理有的数组,用forEach
8、indexOf语法:array.indexOf(item,start) 第一个参数是查找的元素,第二个参数是从第几个位置开始
var fruits = ["Banana", "Orange", "Apple", "Mango", "Banana", "Orange", "Apple"];
console.log(fruits.indexOf("Apple", 4)); //结果为6
console.log(fruits.indexOf("Apple")); //结果为2
9、lastIndexOf语法:array.lastIndexOf(item,start) 对比于indexOf语法
var fruits = ["Banana", "Orange", "Apple", "Mango", "Banana", "Orange", "Apple"];
console.log(fruits.lastIndexOf("Apple", 4)); //结果为2
console.log(fruits.lastIndexOf("Apple")); //结果为6
10、join语法:array.join(separator) separator为分隔符号(把Array拼接为String)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join(" + ");
console.log(energy);
11、pop语法:array.pop() 删除数组最后一个元素并且返回被删除的元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.pop());
console.log(fruits);
12、push语法:array.push(item1, item2, ..., itemX) 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.push('lelele'));
console.log(fruits);
13、shift语法:array.shift() 删除数组第一个一个元素并且返回被删除的元素
14、unshift语法:array.unshift(item1, item2, ..., itemX) 方法可向数组的开始处添加一个或多个元素,并返回新的长度。
15、累加器reduce:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
total 必需。初始值, 或者计算结束后的返回值。 currentValue 必需。当前元素 currentIndex 可选。当前元素的索引
var numbers = [15.5, 2.3, 1.1, 4.7];
function getSum(total, num) {
return total + Math.ceil(num);
}
console.log(numbers.reduce(getSum))
16、reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
17、reverse语法:array.reverse() //用于翻转数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
console.log(fruits);
18、sort语法:array.sort(sortfunction) sortfunction可选。规定排序顺序。必须是函数。
数字排序-升序排列:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function (a, b) {
return a - b
});
console.log(points);
数字排序-降序排列
var points = [40, 100, 1, 5, 25, 10];
points.sort(function (a, b) {
return b - a
});
console.log(points);
按照字母排序(按照字母表摆列):
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
console.log(fruits);
19、slice语法:array.slice(start, end)
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
console.log(fruits); //结果:["Banana", "Orange", "Lemon", "Apple", "Mango"]
console.log(citrus); //结果:["Orange", "Lemon"]
20、splice语法:array.splice(index,howmany,item1,.....,itemX):
index:必需。规定从何处添加/删除元素。 howmany:必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
item:可选,如果有item,就是删除元素之后在添加,如果没有就只只输出元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 1, "Lemon", "Kiwi");
console.log(fruits);
21、toString语法:array.toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(fruits.toString());//结果:Banana,Orange,Apple,Mango
22、find语法:array.find(function(currentValue, index, arr),thisValue)
currentValue:必需。当前元素
find() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素。
var ages = [4, 12, 16, 20];
function checkAdult(age) {
return age >= 16;
}
console.log(ages.find((checkAdult))) //结果:16
23、findIndex语法:array.findIndex(function(currentValue, index, arr), thisValue)
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
var ages = [4, 12, 16, 20];
function checkAdult(age) {
return age >= 16;
}
console.log(ages.findIndex((checkAdult))) //结果:16