JavaScript的数组常用函数方法()
数组连接函数:concat() 方法:
定义和用法
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
语法
array1.concat(array2,array3,...,arrayX)
返回值:
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。
查询、搜索数组中满足条件的元素:find()、indexOf()、 lastIndexOf() 、includes()
find():
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
includes():
定义和用法
includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
let site = ['runoob', 'google', 'taobao'];
site.includes('runoob');
// true
site.includes('baidu');
// false
indexOf():
定义和用法
indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
a 结果输出:
2
lastIndexOf():
定义和用法
lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。
如果要检索的元素没有出现,则该方法返回 -1。
该方法将从尾到头地检索数组中指定元素 item。开始检索的位置在数组的 start 处或数组的结尾(没有指定 start 参数时)。如果找到一个 item,则返回 item 从尾向前检索第一个次出现在数组的位置。数组的索引开始位置是从 0 开始的。
如果在数组中没找到指定元素则返回 -1。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
a 结果输出:
2
数组的增删改:join()、map()、pop()、push()、shift()、unshift()、splice()
join() :把数组的所有元素放入一个字符串。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
结果:
Banana,Orange,Apple,Mango
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。
var numbers = [4, 9, 16, 25];
function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
2,3,4,5
pop()、push()、shift()、unshift()的区别:
- pop() 删除数组的最后一个元素并返回删除的元素。
- push() 向数组的末尾添加一个或更多元素,并返回新的长度。
- shift() 删除并返回数组的第一个元素。
- unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
splice()
定义和用法
splice() 方法用于添加或删除数组中的元素。
语法
array.splice(index,howmany,item1,.....,itemX)
参数 | 描述 |
---|---|
index | 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。 |
howmany | 可选。规定应该删除多少元素。必须是数字,但可以是 “0”。 |
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, …, itemX} 可选。要添加到数组的新元素
返回值:
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
例子:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");
fruits 输出结果:
Banana,Orange,Lemon,Kiwi,Mango
JavaScript Array filter() 方法
返回数组 ages 中所有元素都大于 18 的元素:
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
输出结果为:
32,33,40
定义和用法
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
-
注意: filter() 不会对空数组进行检测。
-
注意: filter() 不会改变原始数组。