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] を取得すると、実際には正しいテキストが表示されます。
これを行う理由は、入力に入力されたものを使用して配列を設定できるようにしたいからです。

なぜ今それが機能していないのか私にはわからないので、誰かがこれを機能させる方法を知っていますか。それが実際に機能することはかなり論理的に思えます。

4

5 に答える 5

4

次のステートメント:

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

配列宣言ではありません。角かっこを使用する必要があります。

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

個人的には、javascript を書くときに「Array」関数を使用したことはありません。代わりに、角かっこを使用します。

var emptyArray = [];
var arrayWithItems = [1, 2, 3, 4];
于 2013-03-19T15:55:51.993 に答える
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 つの要素を持つ配列が含まれます。

于 2013-03-19T15:55:56.620 に答える
0
var x = ("a","b","c","d");

これにより、string値「d」の変数 x が作成されます。

var z = new Array(x);

これにより、値「d」の文字列が 1 つだけの単一要素配列が作成されます。

次の構文で配列を宣言する必要があります。

var x = ["a", "b", "c", "d"];
console.error(x[0]); // will echo "a"
于 2013-03-19T15:56:14.413 に答える
0

配列宣言を次のように変更してください:

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

この場合、alert(x[0]) が表示されますa

于 2013-03-19T15:56:48.360 に答える
0

あなたは声明を見逃しArrayましたvar x = ("a","b","c","d");

上記はreturn d常にどちらelementにあるかbraces

のように使うvar x = Array("a","b","c","d");

于 2013-03-19T15:58:24.833 に答える