希望从数组变量中创建一个数组(2层数组)

问题描述 投票:0回答:1

本质上,我正在尝试使用前一个数组(子分组)中的一个变量创建一个数组。子数组被创建并打印在页面上,但前一个数组仅打印第一个变量的前 3 个字母(A、N、D)

<script language="javascript">
var name = new Array("Andrew", "Harry", "Jacob");
document.write(name[0] + "<br />");
document.write(name[1] + "<br />");
document.write(name[2] + "<br />");

var andrew = name[0] = new Array("Andrew1", "Andrew2", "Andrew3");
document.write(andrew[0] + "<br />");
document.write(andrew[1] + "<br />");
document.write(andrew[2]);
</script>
javascript arrays variables
1个回答
0
投票

这是一个棘手的问题,很好!

var name = new Array("Andrew", "Harry", "Jacob");

可能正在重写

window.name
:如果你添加类似的东西

document.write(name[0] + "<br />");

输出将是

Andrew,Harry,Jacob
作为字符串。

为了避免这种情况,您应该使用

const
(或
let
)而不是
var
,如下所示:

const name = new Array("Andrew", "Harry", "Jacob");

或者只是使用不同的名称。

我建议您了解一下

let
const
var

之间的区别

TL;DR: 只是出于不同原因避免使用

var
)。

© www.soinside.com 2019 - 2024. All rights reserved.