2013-03-19 115 views
3

您好我希望能夠從數組中提取數據,同時使用變量進行設置。 像這樣:使用變量設置數組

var x = ("a","b","c","d"); 

var z = new Array(x); 

這是行不通的,這樣做的時候爲:

alert(z[0]); 

或類似的(其它整數等)什麼也不會工作。 它將只顯示整個數組,而不是實際顯示給定位置的文本。通過這樣做,雖然設置一個數組:

var z = new Array("a","b","c","d"); 

將使其工作,並採取Z [0],它實際上將顯示正確的文本時。
我想這樣做的原因是因爲我想能夠通過使用什麼輸入到輸入來設置數組。

有人知道如何使這項工作,因爲我不知道爲什麼它現在不工作。它應該實際上工作似乎很合乎邏輯。

+0

停止並做:'VAR Z = X [0];'和陣列與'[ 「一」, 「B」, 「C」,「d創建「]' – adeneo 2013-03-19 15:56:10

+0

'var chars =」input string「.split('');' – Stefan 2013-03-19 15:56:31

+0

新的Array()構造函數將arrayLength作爲參數:https://developer.mozilla.org/en-US/docs/ JavaScript/Reference/Global_Objects/Array – stinkycheeseman 2013-03-19 15:57:24

回答

3

您當前的代碼將導致一個單元素的數組(該元素將包含「d」),因爲你確實有什麼是(無意義的)分組操作和一堆逗號運算符。逗號運算符只是返回最終操作數(在本例中爲字符串「d」)。

console.log(z); // "['d']" 

我不知道你想要做什麼,但我想你想這(因爲由它的聲音你開始與用戶輸入的字符串):

var x = "a,b,c,d"; 
var z = x.split(","); 

// or 

var x = "abcd"; 
var z = x.split(""); // Empty string, splits between every char 

現在,z將包含一個包含4個元素的數組,如您所期望的。

+0

感謝這確實是我正在尋找的,我想讓用戶輸入文本並使用它創建一個數組。其他人很可能以爲我不知道如何製作一個陣列。 – SanderRonde 2013-03-20 16:13:47

4

下面的語句:

var x = ("a","b","c","d"); 

不是數組聲明。你應該使用方括號:

var x = ["a","b","c","d"]; 

我個人從來沒有在編寫javascript時使用「數組」函數。相反,我只是用方括號:

var emptyArray = []; 
var arrayWithItems = [1, 2, 3, 4]; 
0
var x = ("a","b","c","d"); 

這產生了一個string值爲「d」的變量x。

var z = new Array(x); 

這創建了一個只包含一個值爲「d」的單個元素數組。

您應該使用以下語法聲明數組。

var x = ["a", "b", "c", "d"]; 
console.error(x[0]); // will echo "a" 
0

請更改數組聲明:

var x = ["a","b","c","d"]; 

警報(X [0])在這種情況下顯示a

0

您在var x = ("a","b","c","d");聲明

上面會錯過Arrayreturn d永遠是element in braces

使用新的關鍵字使用它像var x = Array("a","b","c","d");