你好,我在JavaScript / NodeJS中苦苦挣扎。
基本上,这是我的代码:
let arr = new Array();
arr = {
"Username" : var1,
"Console" : var2,
"Pseudo" : var3,
}
console.log(arr);
var1、2和3包含我每次更改的数据。
让我们考虑一下第一种情况:
上面的代码将显示以下内容:
{ Username: 'Johnson', Console: 'ps4', Pseudo: 'Johnson46' }
现在,如果var1
,var2
和var3
中的数据发生更改,它将用新数据替换数组的内容。因此,如果var1 = "Dave"
,var2 = "xbox"
和var3 = "Dave78"
,它将替换当前数组并显示:
{ Username: 'Dave', Console: 'xbox', Pseudo: 'Dave78' }
但是我想让我的代码打印以下内容:
{ Username: 'Johnson', Console: 'ps4', Pseudo: 'Johnson46' }
{ Username: 'Dave', Console: 'xbox', Pseudo: 'Dave78' }
看到了吗?无需覆盖数组,只需连续添加我的数据即可。如果愿意,可以“逐行”或“逐步”进行,抱歉,我真的不知道怎么说。
答案 0 :(得分:3)
您必须将对象推送到数组中,而不要对其进行修改
<input type="file" name="Avatar" accept="image/png, image/jpeg, image/gif" id="profileAvatar"/>
答案 1 :(得分:0)
我将更多地走理论路线。也许它将消除您的一些疑问,也许不会。
首先,附带说明一下,即使Array
从技术上来说是一个对象,但是{..}
是对象而不是数组的表示法。如果有一个像{'0':..,'1':..,'2':..}这样的对象并且它具有length属性,则称为array like object
(感谢@Alnitak)>
现在,当您声明一个对象,并在引用诸如字符串之类的不可变对象时,从变量中添加值时,编号将引用值本身。如果您要引用某个对象,它将保留该对象的引用;如果您更改该对象,它也会随之更改。
例如:
const obj = {'a':'b'};
const x = {
m: obj.a
}
console.log(x);
obj.a = 'c';
console.log(x);
这将打印
{ m: 'b' }
{ m: 'b' }
但是当您的代码是:
const obj = {'a':'b'};
const x = {
m: obj //referencing obj
}
console.log(x);
obj.a = 'c';
console.log(x);
它将打印:
{ m: { a: 'b' } }
{ m: { a: 'c' } }
因此,如果您只想打印代码,则可以在变量中引用一个对象。