javascript迭代并映射多维数组
我想对数组各级的每个值应用一个函数:javascript迭代并映射多维数组,javascript,arrays,Javascript,Arrays,我想对数组各级的每个值应用一个函数: arr = [[1,2,3],[1,2,3],[[1,2],[1,2]],1,2,3] 例如,将所有值乘以3,并将其映射为与之前相同的格式,以便得到: arr = [[3,6,9],[3,6,9],[[3,6],[3,6]],3,6,9] 最好的办法是什么 我尝试使用递归函数: function mapall(array){ array.map(function(obj){ if (Array.is
arr = [[1,2,3],[1,2,3],[[1,2],[1,2]],1,2,3]
例如,将所有值乘以3,并将其映射为与之前相同的格式,以便得到:
arr = [[3,6,9],[3,6,9],[[3,6],[3,6]],3,6,9]
最好的办法是什么
我尝试使用递归函数:
function mapall(array){
array.map(function(obj){
if (Array.isArray(obj)===true) { return mapall(obj) }
else{ return obj*3 }
})
};
但是当我运行它时,我只是没有定义,所以我一定是做了一些不太正确的事情
有什么想法吗
谢谢一切正常,但您忘了从
数组.map返回。以下是代码的更清晰版本:
var-arr=[[1,2,3],[1,2,3],[1,2],[1,2]],1,2,3];
函数mapAll(数组){
返回数组.map(函数(项){
返回数组.isArray(项)?mapAll(项):项*3;
});
}
警报(JSON.stringify(mapAll(arr))代码>一切正常,但您忘记从数组.map返回。以下是代码的更清晰版本:
var-arr=[[1,2,3],[1,2,3],[1,2],[1,2]],1,2,3];
函数mapAll(数组){
返回数组.map(函数(项){
返回数组.isArray(项)?mapAll(项):项*3;
});
}
警报(JSON.stringify(mapAll(arr))代码>版本,带有回调函数,可以根据需要处理数组元素(el*2
或其他内容)
var-arr=[[1,2,3],[1,2,3],[1,2],[1,2]],1,2,3];
函数mapAll(数组,cb){
对于(变量i=0,len=array.length;i log(JSON.stringify(res))代码>版本,带有回调函数,可以根据需要处理数组元素(el*2
或其他内容)
var-arr=[[1,2,3],[1,2,3],[1,2],[1,2]],1,2,3];
函数mapAll(数组,cb){
对于(变量i=0,len=array.length;i