如何解决一个充满零的数组
我正在用 JavaScript 编写一个程序,你输入一个数字 n
,它返回一个数组 M
,它是一个长度为 'n' 的列表,列表中的每个元素都是一个不同的列表 { {1}} 也是长度 ele
并且每个元素都为零。这是我的功能:
n
我的问题是无论我如何尝试更改 var zeros=function(n){
var M=[];
var ele=[];
for (var q=0; q<n; q++){
ele.push[q]=0;
}
for (var p=0; p<n; p++){
M.push[p]=ele;
}
return M;
};
始终保持未定义状态。谁能告诉我为什么会发生这种情况以及如何解决它?
解决方法
你不能像这样使用 Array.push[x] 推送。如果您对数组使用 push,它总是将该项目放在数组的末尾 (https://www.w3schools.com/jsref/jsref_push.asp)。所以你可以使用:
ele.push(0);
或
ele[q] = 0
,- create a non sparse Array of custom length
-
map
每个数组项(未定义的值)转化为- 2a) a new sparse Array of custom length
- 2b) 立即
fill
使用自定义value
。
function squareMatrix(n,value) {
return Array
// creates a non sparse,thus iterable,array
// which features n-times the undefined value.
.from({ length: n })
// thus,one can map over each item.
.map((item,idx) =>
// creates a sparse array of custom length `n` which
// immediately after gets filled with the custom `value`.
Array(n).fill(value)
);
}
console.log(
'squareMatrix(2,0) ...',squareMatrix(2,0)
);
console.log(
"squareMatrix(3,'??')",squareMatrix(3,'??')
);
.as-console-wrapper { min-height: 100%!important; top: 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。