我正在尝试将值映射到新数组。问题是我正在映射的属性可以是数字或数组。
当涉及到数组时,我有一个问题,因为我的结果是一个关联数组。我的目标是将[[1,2,3], [1,2,3]]
(见下文)转入[1,2,3,1,2,3]
. 换句话说; 只需将其设为一维数组即可。
我尝试在 map() 中使用 foreach 循环,但没有成功。有任何想法吗?
var list = [{ foo: 1, bar: [1,2,3] }, { foo: 2, bar: [1,2,3] }];
var retArr = list.map(function (v) {
return v.bar;
});
console.log(retArr); // [[1,2,3], [1,2,3]]
var list = [{ foo: 1, bar: [1,2,3] }, { foo: 2, bar: [1,2,3] }];
var retArr = list.map(function (v) {
if($.isArray(v.bar)){
$.each(v.bar, function(i, v){
return v;
});
} else {
return v.bar;
}
});
console.log(retArr); // [undefined, undefined]