【发布时间】:2019-04-10 17:18:20
【问题描述】:
我正在做一个赋值,要求将给定数组转换为新数组,以便新数组由一个第一项、两个第二项、树第三项等组成。不使用循环,只是特定于数组方法。例如:
[] => []
[ 1 ] => [ 1 ]
[ 'a', 'b' ] => [ 'a', 'b','b' ]
[ 'a', 'b', 'c', null ] => [ 'a', 'b','b', 'c','c','c', null,null,null,null ]
我已经通过使用 .map 和递归解决了这个问题。函数如下所示:
function propagateItemsByPositionIndex(arr) {
let newArray = [];
let additions = 0;
arr.map(function (k, x) {
createArray(k, x);
additions = 0;
});
return newArray
function createArray(item, count) {
if (additions <= count) {
newArray.push(item);
++additions
createArray(item, count);
}
}
}
感觉应该有更好的方法来做到这一点。
【问题讨论】:
标签: javascript arraylist