Array对象的方法
1. Array map()方法
定义: map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
map()方***按照原数组元素的顺序进行一次处理元素
注意: map()不会改变原数组;map()不会对空数组进行检测
语法
array.map(function(currentValue,index,arr), thisValue)
参数说明
实例
/* 返回一个数组,数组中元素为原始数组的平方根 */
var numbers = [4,9,16,25];
function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
/* 输出结果为: 2,3,4,5 */
2. JavaScript some()方法
定义: some() 方法用于检测数组中的元素是否满足指定条件(函数提供)
some() 方***依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true,剩余的元素不会再执行检测
- 如果没有满足条件的元素,则返回false
注意: some() 不会对空数组进行检测,不会改变原数组
语法
array.some(function(currentValue,index,arr),thisValue)
参数说明
实例
/* 检测数组中是否有元素大于18 */
var ages = [3,10,18,20];
function checkAdult(age) {
return age >= 18
}
function myFunction() {
document.getElementById("demo").innerHTML = age.some(checkAdult);
}
// 输出结果: true
3. JavaScript shift() 方法
定义 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值
注意: shift() 方法改变数组的长度;
语法
array.shift()
实例
var peoples = ["Rick","Motty","Tom","Jerry"];
peoples.shift() // "Rick"
//["Motty","Tom","Jerry"]
4. JavaScript pop()方法
定义: pop()方法用于删除数组的最后一个元素并返回删除的元素
注意:此方法改变数组的长度
语法
array.pop()
实例
var peoples = ["Rick","Motty","Tom","Jerry"];
peoples.pop() //"Jerry"
// ["Rick","Motty","Tom"]
5. JavaScript unshift() 方法
定义: unshift() 方法可向数组的开头添加一个或多个元素,并返回新的长度
注意: 该方法将改变数组的数目
语法:
array.unshift(item1,item2,…,itemX)
参数:
参数 | 描述 |
---|---|
item1,item2, …, itemX | 可选。向数组起始位置添加一个或者多个元素。 |
实例
var peoples = ["Tom","Rick"]
peoples.unshift("Jerry","Rick") // 4
console.log(peoples) // ["Jerry","Rick","Tom","Rick"]
6. JavaScript push() 方法
定义: push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度
注意: 新元素添加在数组的末尾,此方法改变数组的长度
语法
array.push(item1,item2, … , itemX)
参数值
参数 | 描述 |
---|---|
item1, item2, …, itemX | 必需。要添加到数组的元素。 |
返回值
类型 | 描述 |
---|---|
Number | 数组新长度 |
实例
var people = ["Jerry","Tom"]
people.push("Rick","Motty") //4
console.log(people) // ["Jerry","Tom","Rick","Motty"]
7. JavaScript includes() 方法
定义
includes() 方法判断数组中是否包含一个指定的值,如果是返回true,否则false
语法
arr.includes(searchElement)
arr.includes(searchElement, fromIndex)
参数说明
参数 | 描述 |
---|---|
searchElement | 必须,需要查找的元素值 |
fromIndex | 可选,从该索引处开始查找searchElement;如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索,默认为0 |
实例
fromIndex 大于等于数组长度
如果fromIndex 大于等于数组长度,则返回false,则数组不会被搜索
var cartoonArr = ['Jerry','Rick','Motty']
console.log(cartoonArr.includes('Rick',1)); // true
console.log(cartoonArr.includes('Rick',3)); // false
fromIndex 小于0
如果fromIndex 为负值,按升序从 arr.length + fromInedx 的索引开始搜素,计算出的索引将作为开始搜索searchElement的位置。如果计算出的索引小于0,则整个数组都会被搜索。
var arr = ['a','b','c']
// 当开始索引fromIndex 小于0,则按升序从 array.length + fromIndex 的索引开始搜索
console.log(arr.includes('a', -1)); // false; 3 + (-1) = 2,从inedx=2索引开始搜索,所以为false
console.log(arr.includes('a', -3)); // true; 3 + (-3) = 0,从inedx=0索引开始搜索,所以为false
8. JavaScript Array slice()方法
定义: slice()方法可从已有的数组中返回选定的元素
slice()方法不会改变原数组
语法:
array.slice(start, end)
参数说明
参数 | 描述 |
---|---|
start | 可选,规定从何处(数组下标)开始选取;如果为负数,则表示从原数组倒数第几个开始提取 |
end | 可选,规定从何处(数组下标)结束选取(不包括结束位置元素);如果为负数,则表示在原数组的倒数第几个元素结束抽取 |
返回值
Type | 描述 |
---|---|
Array | 返回一个新的数组,包括从start到end(不包括该元素)的array |
实例
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var newArr = fruits.slice(1) //["Orange", "Lemon", "Apple", "Mango"]
newArr = fruits.slice(1,3) //["Orange", "Lemon"]
newArr = fruits.slice(-3) // ["Lemon", "Apple", "Mango"]