收藏
回答

小程序里的数组map函数处理的方式与javascript处理的方式不一样吗?

小程序里的数组map函数处理的方式与javascript处理的方式不一样吗?

js里的map能改变数组的值,小程序的map不能。

回答关注问题邀请回答
收藏

5 个回答

  • 2021-09-27

    javascript的数组map函数也是不会改变原数组的值的。。。建议好好补一下javascript基础知识。

    2021-09-27
    有用
    回复
  • 八方来才
    八方来才
    发表于移动端
    2021-02-14
    你好
    2021-02-14
    有用
    回复
  • 朝阳
    朝阳
    2021-02-14

    arr.map(callback(currentValue [, index [, array]])[, thisArg])

    callback 为数组中每个元素执行的函数,该函数接收一至三个参数。

    currentValue 数组中正在处理的当前元素。

    index 可选 数组中正在处理的当前元素的索引。

    array 可选 正在操作的数组。

    thisArg 可选 当执行回调函数callback时,用作this的值,注意如果使用箭头函数表达式来传入callbackthisArg参数会被忽略,因为箭头函数在词法上绑定了this值。

    map()方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。

    var arr = [1, 2, 3, 4, 5];
    var obj = { a: 1 }; // 定义obj为了演示this用
    var newArr = arr.map( function(currentValue,index,array) {
        console.log("当前值",currentValue);
        console.log("当前值索引",index);
        console.log("当前处理数组",array);
        console.log("当前this指向",this);
        console.log("");
        return currentValue + 10; // 将arr值加10返回成为新数组
    },obj);
    console.log(newArr); // [11, 12, 13, 14, 15]
    /*
        当前值 1
        当前值索引 0
        当前处理数组 (5)[1, 2, 3, 4, 5]
        当前this指向 {a: 1}
    
        当前值 2
        当前值索引 1
        当前处理数组 (5)[1, 2, 3, 4, 5]
        当前this指向 {a: 1}
    
        ...........
    */
    console.log(arr); // [1, 2, 3, 4, 5] // 不改变原数组
    


    2021-02-14
    有用
    回复
  • 老张
    老张
    2021-02-14

    你难道从不怀疑自己记错了吗?

    2021-02-14
    有用
    回复
  • Vinlic
    Vinlic
    2021-02-14

    map是无副作用的函数,你需要赋值给原数组

    2021-02-14
    有用
    回复
登录 后发表内容
问题标签