javascript 中的map方法,你学会了吗

js 数组的map方法

输入:一个数组 输出: 一个新的数组 两个数组中的元素存在着对应的关系

  • MDN:对原数组的每一项执行回到函数,并将回调的返回结果放到一个新的数组,其实呢,就是数组的映射(映射一词来源于数学,应用于各个学科领域)

  • 数学解释:A 、 B 两个结合存在映射关系 那么 A中的元素 在B中存在唯一的一个元素与之对应,而这种从A到B的对应关系就是映射。

// 常用用例
let a = [
  {
    name:'张三',
    age:7
  },
  {
    name:'李四',
    age:10
  },
  {
    name:'王五',
    age:12
  }
]
// 1、 取值 以取所有人员的年龄字段 age 为例
let ages = a.map(p => p.age)
// 2. 设置新值
let a_copy = a.map(p => ({
  ...p,
  relName:p.name
}))

a.forEach(a => a.sex= 1)
console.log(ages)
// [ 7, 10, 12 ]
console.log(a)
/*[
  { name: '张三', age: 7, sex: 1 },
  { name: '李四', age: 10, sex: 1 },
  { name: '王五', age: 12, sex: 1 }
]*/

console.log(a_copy) 
/*
[
  { name: '张三', age: 7, relName: '张三' },
  { name: '李四', age: 10, relName: '李四' },
  { name: '王五', age: 12, relName: '王五' }
]

*/

 总结 :

原数组和新数组 从在一定的对应关系

  • 1、 新数组是直接取原数组的值
  • 2. 新数组设置新的值,原数组不变

注意 像一下方式访问并不会报错,而是会返回undefined

let c = a.map(p => p.gender)
[ undefined, undefined, undefined ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值