一旦遇到不符合的情況,數組的元素就會消失。我希望數組保留之前的案例中添加的值。在數組中保留一個值
代碼:
var x=[];
var y=1;
if (y===1){
x.push([1,1]);
y+1;
}
if (y===2){
console.log(x); //I want it to print [[1,1]]
}
一旦遇到不符合的情況,數組的元素就會消失。我希望數組保留之前的案例中添加的值。在數組中保留一個值
代碼:
var x=[];
var y=1;
if (y===1){
x.push([1,1]);
y+1;
}
if (y===2){
console.log(x); //I want it to print [[1,1]]
}
第二if
條件進行評估,以false
作爲y
值爲1
。
第一個if
塊中的語句y+1
不會更改值y
。 要更改y
的值,請將其分配給y
。
y = y + 1;
您甚至可以使用,increment operators,++y
和y++
或shorthand assignment operatory += 1
。
var x = [];
var y = 1;
if (y === 1) {
x.push([1, 1]);
y = y + 1;
}
if (y === 2) {
console.log(x); //I want it to print [[1,1]]
}
你需要增加y
正常。使用後增量y++
。
var x = [];
var y = 1;
if (y===1) {
x.push([1,1]);
y++;
}
if (y===2) {
console.log(x); //I want it to print [[1,1]]
}
所以,X肯定包含了你放什麼東西在裏面,但是,你的console.log語句中的代碼是不可到達的塊,所以你不會看到它打印到控制檯。
如果您希望使用console.log語句輸入代碼塊,您需要將y+1
更改爲y=y+1;
。
如果您不想使用console.log語句輸入代碼塊,但想要查看x的值,則需要在(y===2)
代碼塊之外添加一個額外的console.log語句。
你做了什麼來調試你的代碼?甚至是什麼問題? –
@FelixKling我剛剛使用代碼來展示我的意思。 –
你怎麼知道數組「失去」價值?一旦案件不符合我看不到'x'「。如果你在代碼的最底部放置一個'console.log(x)',你會看到'x'是'[[1,1]]''。據我所知,這沒有問題?或者我誤解了一些東西? –