私はJSの初心者です。ここに私のコードがあり、私はそれが動作するはずだと信じています...しかし、それはしません。JavaScriptの文字列ベクトルのマップの配列読み込み問題
文字列のベクトルのマップを持つ代替方法はわかりません。ありがとうございます。
ありがとう、
アミール
私はJSの初心者です。ここに私のコードがあり、私はそれが動作するはずだと信じています...しかし、それはしません。JavaScriptの文字列ベクトルのマップの配列読み込み問題
文字列のベクトルのマップを持つ代替方法はわかりません。ありがとうございます。
ありがとう、
アミール
これは配列ではなく、そのプロパティに配列を含むJavascriptオブジェクトです。オブジェクトと配列literalsを使用することができます。利点は、コードがはるかにきれいに見えるということです。 new Array
またはnew Object
をjavascriptコードで使用する理由はほとんどありません(たとえばthis SO Questionを参照)。
var pop = {
la: ['nt','gb','te'],
sa: ['nt','gb'],
ha: ['pc','pa']
}
今あなたは、プロパティラベルは(あなたが_ecpopのような)変数に格納されている場合、あなたはそれが価値だ取得するためにbracket notiationを使用することができます
for (var i = 0; i < pop.la.length; i++) {
console.log(pop.la[i]);
}
を使用することができます。
var laArr = pop[_ecpop];
for (var i = 0; i < laArr.length; i++) {
console.log(laArr[i]);
}
他の方法でオブジェクトにラベルを割り当てることができます。
var _ecpop = 'la';
pop[_ecpop] = ['nt','gb','te'];
document.write
は、あなたのページに物を置くのに好ましい方法ではありません。それは、idを持ついくつかの要素を使用した方が良いと同じように簡単だし、innerHTML
を使用して、それに出力を書き込み、JavaScriptでは例えば
document.getElementById('myOutput').innerHTML = '[some output here]';
、あなたがテキストのインデックスを使用したい場合、配列は、数値インデックスのみを持つことができます代わりにオブジェクトを使用する必要があります。その後、
var pop = new Object();
または
var pop = {};
と:
pop['la'] = new Array('nt','gb','te');
オブジェクトが配列ではありませんしかし、それは長さメンバーを持っていませんが、ちょうど配列として使用することができますfor..inを入力して、すべての値を確認します。
document.writeを使用するのは、ドキュメントの読み込み時のみで、後では動作しないため、適切な選択肢ではありません。代わりにテキストノードまたはinnerhtmlを使用してみてください。
私は、 var pop = new Array();をvar pop = {}に変更します。 – Amir
コードを4つのスペースでインデントしてフォーマットしてください。入力の下のプレビューは、書式設定に役立ちます。 – kassens