這是一個非常愚蠢的問題,但我只是在這裏畫一個空白......JavaScript的變量聲明
什麼類型的變量聲明是這樣的:
var s1 = [1,2,3,4]
而且,我怎樣才能構建當這些對象的數量未知時,這是一個來自多個對象的變量。這是我想出來的,這是行不通的。
var s1 = [];
for(x in data[i].uh) {
s1 += data[i].uh[x];
}
這是一個非常愚蠢的問題,但我只是在這裏畫一個空白......JavaScript的變量聲明
什麼類型的變量聲明是這樣的:
var s1 = [1,2,3,4]
而且,我怎樣才能構建當這些對象的數量未知時,這是一個來自多個對象的變量。這是我想出來的,這是行不通的。
var s1 = [];
for(x in data[i].uh) {
s1 += data[i].uh[x];
}
var s1 = [1,2,3,4]
的四個整數數組聲明你並不需要一個循環複製陣列,只需做到這一點:
var s1 = data.slice(0);
或在您的例子中,你可能會想這樣的:
var s1 = data[i].uh.slice(0);
瞭解更多關於這裏複製陣列:http://my.opera.com/GreyWyvern/blog/show.dml/1725165
「(0)的方法的裝置的切片,從元素0返回 切片陣列的至 結束。換句話說,整個 陣列。 。瞧,陣列的一個拷貝」
小心使用slice複製數組,因爲它是參考副本而不是值副本。意思是如果你改變一個你改變另一個。 – 2011-04-28 01:48:48
@The_asMan 不,它複製數組。考慮這個代碼: 'var foo = [1,2,3,4,5]; alert(foo [2]);/*返回3 */ var bar = foo.slice(0); 警報(bar [2]);/*返回3 */ bar [2] = 0; 警報(bar [2]);/*返回0 */ alert(foo [2]);/*退貨3 * /' http://www.w3schools.com/jsref/jsref_slice_array.asp – 2011-04-28 11:10:12
它聲明瞭一個帶有Array
和4個成員的局部變量。
如果要附加到Array
,請使用push()
方法。
這就是所謂的Array
,它可以用new Array()
來聲明,或者像在你的例子中那樣使用數組的文字[]
。您可以使用Array.push()
方法(see docs)到一個新值添加到它:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
哦,哇。好吧,我認爲數組必須用新的Array()聲明。 – 2011-04-28 00:34:26
這
var s1 = [1,2,3,4]
是一個數組聲明
將元素添加到陣列中,使用push
方法:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
這是一個數組。要添加到數組中,您可以使用Array.push()。例如:
var s1 = [];
s1.push(1);
s1.push(2);
s1
是一個數組,它是一個正確的具有函數的Javascript對象。
var s1 = [];
是推薦的創建數組的方法。而不是:
var s1 = new Array();
(參見:http://www.hunlock.com/blogs/Mastering_Javascript_Arrays)
要將項目添加到一個數組使用s1.push(item)
因此您的代碼將是:
var s1 = [];
for(x in data[i].uh) {
s1.push(data[i].uh[x]);
}
作爲一個方面說明,我不會建議使用for-in,至少不要不檢查hasOwnProperty。
這是一個數組。 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array – kjy112 2011-04-28 00:32:51