Javascript 如何在同一数组中使用limit和fill()?
我希望在同一个数组中同时使用限制和填充Javascript 如何在同一数组中使用limit和fill()?,javascript,arrays,Javascript,Arrays,我希望在同一个数组中同时使用限制和填充 var array = new Array(4).fill({}); var limit = 4; 如果有一些动态记录,它可能会有所不同,但我只需要4条记录显示 例如: eg-1 记录=20 它应该只显示数组中的前8个记录 输出 eg-2: 记录=2; 它应该显示这2个,其余6个索引应该用{}填充 输出 那么我该如何实现这一点呢?您可以使用限制检查生成的数组的长度,如果长度小于此限制,请使用array.concat()将新数组添加到生成的数组中。使用a
var array = new Array(4).fill({});
var limit = 4;
如果有一些动态记录,它可能会有所不同,但我只需要4条记录显示
例如:
eg-1
记录=20
它应该只显示数组中的前8个记录
输出
eg-2:
记录=2;
它应该显示这2个,其余6个索引应该用{}填充
输出
那么我该如何实现这一点呢?您可以使用
限制检查生成的数组的长度,如果长度小于此限制,请使用array.concat()
将新数组添加到生成的数组中。使用array.from()
生成数组
var obj=[1,2,3,4,5,6],
限值=4,
指数=4,
arr=对象切片(索引、索引+限制),
newArr=arr.长度<极限?arr.concat(Array.from({length:limit-arr.length},=>({})):arr;
控制台日志(newArr)代码>你可以试试这个
function limitArr(arr, limit) {
let newArr = arr.map((item, index, key) => {
if (limit >= index) {
return item;
} else {
return {};
}
});
return newArr;
}您可以使用array#slice
。另外,您是否可以使用示例输入更新问题。我将使用一个for
循环来迭代您拥有的记录(或在第4条记录处停止)。仅在完成后应用.fill({})
method@HassanImam是的,我使用了array.slice(0,limit);所以我得到的记录数等于limit,但问题是,如果数组中的记录数少于limit,那么剩余的字段应该由{}
填充。
[{record 1},{record 2},{},{}]
function limitArr(arr, limit) {
let newArr = arr.map((item, index, key) => {
if (limit >= index) {
return item;
} else {
return {};
}
});
return newArr;