我会同时使用限制和填充相同的数组
var array = new Array(4).fill({});
var limit = 4;
如果有一些动态记录,它可能会有所不同,但我只需要显示4条记录例如:eg-1 records = 20它应该只显示数组输出中的前8个记录
[{record 1},{record 2},{record 3},{record 4}]
例如-2:记录= 2;它应该显示那些2,其余6个索引应该填充{}输出
[{record 1},{record 2},{},{}]
那怎么能实现这个呢?
您可以使用limit
检查生成的数组的长度,如果它更小,则使用Array.concat()
将新数组添加到生成的数组中。使用Array.from()
生成数组。
var obj = [1,2,3,4,5,6],
limit = 4,
index = 4,
arr = obj.slice(index, index+limit),
newArr = arr.length < limit ? arr.concat(Array.from({length: limit - arr.length }, _ => ({}))) : arr;
console.log(newArr);
你可以尝试这个。
function limitArr(arr, limit) {
let newArr = arr.map((item, index, key) => {
if (limit >= index) {
return item;
} else {
return {};
}
});
return newArr;
}