Array map()方法
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
map() 不会对空数组进行检测。
map() 不会改变原始数组。
返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
参数 | 描述 | |
---|---|---|
function(item,index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 | |
参数 | 说明 | |
item | 必须。当前元素的值 | |
index | 可选。当前元素的索引值 | |
arr | 可选。当前元素属于的数组对象 |
const arr = [{
name:'zs',
age:20,
gender:'男'
},{
name:'ls',
age:10,
gender:'女'
}]
// map方法不改变原数组
const mapArr = arr.map(item => {
return {
name:item.name,
age: item.age,
grade: '一年级'
}
})
console.log('mapArr', mapArr);
[{name: "zs", age: 20, grade: "一年级"},
{name: "ls", age: 10, grade: "一年级"}]
console.log('arr', arr);
[{name: "zs", age: 20, gender: "男"},
{name: "ls", age: 10, gender: "女"}]
// 从接口得到数据 res:
let r = res.map(item => {
return {
title: item.name,
sex: item.sex === 1? '男':item.sex === 0?'女':'保密',
age: item.age,
avatar: item.img
}
})
// 也可以省略 return:
const users=res.items.map(item => ({
url: item.html_url,
img: item.avatar_url,
name: item.login,
})
)
Array filter()方法
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
filter() 不会对空数组进行检测。
filter() 不会改变原始数组。
检测数值元素,并返回符合条件所有元素的数组。
参数 | 描述 | |
---|---|---|
function(item,index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 | |
参数 | 说明 | |
item | 必须。当前元素的值 | |
index | 可选。当前元素的索引值 | |
arr | 可选。当前元素属于的数组对象 |
const arr = [{
name:'zs',
age:20,
gender:'男'
},{
name:'ls',
age:10,
gender:'女'
}]
// filter方法不改变原数组
const filterArr = arr.filter(item => {
return item.age === 10
})
console.log('filterArr', filterArr);
[{name: "ls", age: 10, gender: "女"}]
console.log('arr', arr);
[{name: "zs", age: 20, gender: "男"},
{name: "ls", age: 10, gender: "女"}]
Array some() 方法
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
some() 不会对空数组进行检测。
some() 不会改变原始数组。
只要有一个满足就返回true,全都不满足时返回false。
参数 | 描述 | |
---|---|---|
function(item,index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 | |
参数 | 说明 | |
item | 必须。当前元素的值 | |
index | 可选。当前元素的索引值 | |
arr | 可选。当前元素属于的数组对象 |
const some_Arr = arr.some(item => {
return item.age > 15
})
console.log('some_Arr', some_Arr); // true
console.log('arr', arr);
[{name: "zs", age: 20, gender: "男"},
{name: "ls", age: 10, gender: "女"}]
Array every() 方法
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true。
every() 不会对空数组进行检测。
every() 不会改变原始数组。
有一个不满足就返回false,全都满足才返回true。
const every_Arr = arr.every(item => {
return item.age > 15
})
console.log('every_Arr', every_Arr); // false
console.log('arr', arr);
[{name: "zs", age: 20, gender: "男"},
{name: "ls", age: 10, gender: "女"}]
Array forEach() 方法
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
forEach() 对于空数组是不会执行回调函数的。
Array 对象方法总结
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
copyWithin() | 从数组的指定位置拷贝元素到数组的另一个指定位置中。 |
entries() | 返回数组的可迭代对象。 |
every() | 检测数值元素的每个元素是否都符合条件。 |
fill() | 使用一个固定值来填充数组。 |
filter() | 检测数值元素,并返回符合条件所有元素的数组。 |
find() | 返回符合传入测试(函数)条件的数组元素。 |
findIndex() | 返回符合传入测试(函数)条件的数组元素索引。 |
forEach() | 数组每个元素都执行一次回调函数。 |
from() | 通过给定的对象中创建一个数组。 |
includes() | 判断数组是否包含一个指定的值,返回布尔值。 |
indexOf() | 如果元素存在,返回索引位置,如果不存在返回-1 |
isArray() | 判断对象是否为数组。 |
join() | 数组拼接成字符串。 |
keys() | 返回数组的可迭代对象,包含原始数组的键(key)。 |
lastIndexOf() | 返回元素最后出现的索引位置,如果不存在返回-1 |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
pop() | 删除数组的最后一个元素并返回删除的元素。 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reduce() | 将数组元素计算为一个值(从左到右)。 |
reduceRight() | 将数组元素计算为一个值(从右到左)。 |
reverse() | 反转数组的元素顺序。 |
shift() | 删除并返回数组的第一个元素。 |
slice() | 选取数组的一部分,并返回一个新数组。 |
some() | 检测数组元素中是否有元素符合指定条件。 |
sort() | 对数组的元素进行排序。 |
splice() | 从数组中添加或删除元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值。 |