当前位置: 首页 > 知识库问答 >
问题:

根据指定的长度用null填充剩余的数组索引

岳研
2023-03-14

我有不同长度的数组列表。我想在列表中找到数组的最高长度,并通过填充null/空值使所有剩余的数组具有相同的长度。

例如:我有一个数组列表

[ [1,2,2,4,4], [2,3,2,4], [2,4,21,4], [1,2]];

我想在列表中找到数组的最大长度,即在上述情况下的5([1,2,2,4,4]的长度)

我想使所有剩余的数组也具有相同的长度,如下所示

[ [1,2,2,4,4], [2,3,2,4,''], [2,4,21,4,''], [1,2,'','','']];

我该如何实现呢?

数组列表和查找最大长度的示例代码

let data = [ [1,2,2,4,4],
[2,3,2,4], [2,4,21,4], [1,2]
];

const length = Math.max(...(data.map(el => el.length)));

console.log('array list', data);
console.log('max length', length);

共有3个答案

阳兴文
2023-03-14
let data = [ [1,2,2,4,4],
[2,3,2,4], [2,4,21,4], [1,2]
];

const length = Math.max(...(data.map(el => el.length)));

data.forEach(item => {
    while (item.length < length){
        item.push(''); 
    }
})

console.log(data)
太叔繁
2023-03-14

您可以<code>将一个数组</code>连接到<code>数据</code>中的每个条目,该数组填充了<code>null</code>值:

js prettyprint-override">let data = [ [1,2,2,4,4],
[2,3,2,4], [2,4,21,4], [1,2]
];

const length = Math.max(...(data.map(el => el.length)));

data = data.map(a => a.concat(new Array(length - a.length).fill(null)));

console.log('array list', data);
console.log('max length', length);
潘琪
2023-03-14

您可以迭代数组并将空字符串推送到所需的长度。

const
    data = [[1, 2, 2, 4, 4], [2, 3, 2, 4], [2, 4, 21, 4], [1, 2]],
    length = Math.max(...data.map(({ length }) => length));

data.forEach(a => {
    while (a.length < length) a.push('');
});

console.log('max length', length);
console.log('array list', data);
 类似资料:
  • 问题内容: 我有这个标题栏。 我需要searchBar来填补div中剩余的空白。我该怎么做? 这是我的CSS 问题答案: 您可以使用CSS表格单元格实现此布局。 稍微修改您的HTML,如下所示: 只需删除两个元素周围的wrapper 元素即可。 应用以下CSS: 适用于并给它100%的宽度。 对于,,,适用。 对于,将宽度设置为90%,这将迫使所有其他元素计算出缩小以适合的宽度,搜索栏将展开以填充

  • 问题内容: 如何使div填充剩余宽度? 我如何才能填满其余部分? 问题答案: 试试这样的事情: div自然会占用其容器的100%宽度,因此无需显式设置此宽度。通过添加与两侧div相同的左/右页边距,它自己的内容被强制置于它们之间。 请注意,“中间格”云 后 的HTML“正确的div”

  • 问题内容: +--------------------+ | | | | | | | | | 1 | | | | | | | | | +--------------------+ | | | | | | | | | 2 | | | | | | | | | +--------------------+ 如上所示的(1)的内容是未知的,因为它在动态生成的页面中可能会增加或减少。如上所示,第二个div(

  • 问题内容: 我想要一个两列的div布局,其中每个可以具有可变的宽度,例如 我希望’view’div扩展到’tree’div填充所需空间后可用的整个宽度。 目前,我的“视图” div已调整为包含它的内容的大小,如果两个div都占据整个高度,那也会很好。 问题答案: 这个问题的解决其实很容易,但不是在 所有 明显。您必须触发一种称为“块格式设置上下文”(BFC)的东西,它以特定的方式与浮点数交互。 只

  • 问题内容: 从问题的答案如何对varchar []使用array_agg() , 我们可以创建一个自定义的聚合函数来聚合Postgres中的n维数组,例如: 一个约束是值必须共享 相同的数组范围和相同的长度 ,处理空值和不同的长度是行不通的。 从答案: 没有办法解决,数组类型不允许在Postgres中出现这种不匹配的情况。您可以使用NULL值填充数组,以便所有维都具有匹配范围。 我有像这样的行 我

  • 问题内容: 我正在一个Web应用程序上工作,我希望其中的内容能填满整个屏幕的高度。 该页面具有标题,其中包含徽标和帐户信息。这可以是任意高度。我希望内容div将页面的其余部分填充到底部。 我有一个标题和一个内容。目前,我正在使用表格进行布局,如下所示: CSS和HTML 页面的整个高度已填满,不需要滚动。 对于content div中的任何内容,设置将其放在标题的正下方。有时,内容将是一个实际表,