javascript:array.map()的使用和注意事项

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
map() 方法按照原始数组元素顺序依次处理元素。map() 不会对空数组进行检测。

① 如果Array里面的值是值类型的而不是对象类型的,map() 就不会改变原始数组

② 如果如果Array里面的值是对象类型的,原数组也会被改变
③但是如果只是用值里面的值,创建新的对象也不会改变原数组

① 如果Array里面的值是值类型的而不是对象类型的,map() 就不会改变原始数组

let arr=[
    {a:"aaa",b:'bbb',"c":'cccc'},
    {a:"bbb",b:'ccc',"c":'aaa'},
    {a:"ccc",b:'ddd',"c":'eee'}
]//arr里面的值是对象,是引用类型

let brr=arr.map(function(value){
    value.d='dddddddddd'
    return value
})
console.log(brr);
console.log(arr);//arr被改变

② 如果如果Array里面的值是对象类型的,原数组也会被改变

let arr2=['xxx','zzz']
let brr2=arr2.map(function(value){
    value=`lsy${value}`
    return value
})
console.log(arr2);//arr2没有被改变,因为它里面的值是值类型
console.log(brr2);

在这里插入图片描述
③但是如果只是用值里面的值,创建新的对象也不会改变原数组,因为没有改变他的值

let lessons = [
  {title: '媒体查询响应式布局',category: 'css'},
  {title: 'FLEX 弹性盒模型',category: 'css'},
  {title: 'MYSQL多表查询随意操作',category: 'mysql'}
];

let xz=lessons.map(function(value){
    return {
        title:value.title,
        category:value.category,
        click:100
    }
})
console.log(lessons);
console.log(xz);

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值