小程序
小游戏
企业微信
微信支付
扫描小程序码分享
小程序里的数组map函数处理的方式与javascript处理的方式不一样吗?
js里的map能改变数组的值,小程序的map不能。
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
javascript的数组map函数也是不会改变原数组的值的。。。建议好好补一下javascript基础知识。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
arr.map(callback(currentValue [, index [, array]])[, thisArg])
callback 为数组中每个元素执行的函数,该函数接收一至三个参数。
callback
currentValue 数组中正在处理的当前元素。
currentValue
index 可选 数组中正在处理的当前元素的索引。
index
array 可选 正在操作的数组。
array
thisArg 可选 当执行回调函数callback时,用作this的值,注意如果使用箭头函数表达式来传入callback,thisArg参数会被忽略,因为箭头函数在词法上绑定了this值。
thisArg
this
map()方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。
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] // 不改变原数组
你难道从不怀疑自己记错了吗?
map是无副作用的函数,你需要赋值给原数组
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
javascript的数组map函数也是不会改变原数组的值的。。。建议好好补一下javascript基础知识。
arr.map(callback(currentValue [, index [, array]])[, thisArg])
callback
为数组中每个元素执行的函数,该函数接收一至三个参数。currentValue
数组中正在处理的当前元素。index
可选 数组中正在处理的当前元素的索引。array
可选 正在操作的数组。thisArg
可选 当执行回调函数callback
时,用作this
的值,注意如果使用箭头函数表达式来传入callback
,thisArg
参数会被忽略,因为箭头函数在词法上绑定了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] // 不改变原数组
你难道从不怀疑自己记错了吗?
map是无副作用的函数,你需要赋值给原数组