-1

Javascript で次のような配列を作成すると、次のようになります。

    var tabInfos = [];
    tabInfos[1] = [];
    tabInfos[1]['label'] = 'one';
    tabInfos[1]['id'] = '111';
    tabInfos[2] = [];
    tabInfos[2]['label'] = 'two';
    tabInfos[2]['id'] = '222';

console.log(tabInfos) に最初の値も表示するにはどうすればよいですか (例: 1, 2):

ここに画像の説明を入力

4

6 に答える 6

4

最初の項目が未定義と表示される理由は、そうであるからです。JS 配列は 0 から始まり、自分の配列は 1 から始まります。

あなたが望むと思われるものを取得するための推奨される方法を見てください - オブジェクトの配列:

var tabInfos = [{
  "label": "zero",
  "id": "000"
}, {
  "label": "one",
  "id": "111"
}, {
  "label": "two",
  "id": "222"
}];

console.log(tabInfos);
// or if you must
console.log(JSON.stringify(tabInfos));

于 2013-08-01T11:47:44.610 に答える
3

内部アイテムには配列ではなく、オブジェクトを使用する必要があります。それらは配列のようではありません。

var tabInfos = [];
tabInfos[1] = {};
tabInfos[1]['label'] = 'one';
tabInfos[1]['id'] = '111';
tabInfos[2] = {};
tabInfos[2]['label'] = 'two';
tabInfos[2]['id'] = '222';
于 2013-08-01T11:44:15.753 に答える
1

これは次のように行います。

var i = 0;

JSON.stringify(tabInfos, null, 2).split(/\n/).forEach(function(line) {
  window.console && console.log(
    (/\s{2}\S/.test(line)) ? i++ + line : line
  );
});
于 2013-08-01T11:51:39.397 に答える
0

実際、あなたのスクリーンショットでは、コンソールはtabInfos [1] と tabInfos[2] の最初の値の値を表示します。マイナス記号 [-] の直後にインラインで表示され、値がないため、右側には何も表示されません。

于 2013-08-01T11:44:47.150 に答える
-1

最初の未定義値が気になりますか? JavaScript 配列のインデックスは 0 です。最初の値を 1 から設定すると、0 番目の位置は自動的に未定義になります。

于 2013-08-01T11:44:13.427 に答える