-4

私はvar含んでいます:

var flags = {USA, Brazil, Germany, Canada};

各キーの数で値を取得できます

http://jsfiddle.net/YQSHr/

数値を設定せずに数値 {1, 2, 3} を取得し、var1 から開始する方法

var flags = {USA, Canada, Germany};

編集2:
また、私は別のものを持っていvarません,
var flags = 'USA Brazil Germany Canada';

4

5 に答える 5

3

使用する

var flags = ['USA','Brazil','Germany','Canada'];

次に、それを繰り返すことができます

$.each(flags, function(key, value){
    var yourkey = key + 1; // Because you want 1 indexed
}
于 2013-03-10T20:56:27.220 に答える
2

文字列の配列が必要な場合は、角括弧を使用する必要があります。

var flags = ["USA", "Canada", "Germany"];
/* or
var flags = 'USA Brazil Germany Canada'.split(' ');
*/

ただし、インデックスから数値を取得するには、1 を追加する必要があります。これは、配列のインデックスがゼロベースであるためです。

$.each(flags, function(index, value){
    $('#flags').append('<span>' + value + (index+1) + '</span> ')
});

出力:

USA1
Canada2
Germany3
于 2013-03-10T20:56:42.190 に答える
2
var flags = ['USA', 'Canada', 'Germany'];

$.each(flags, function(i, country){
    $('#flags').append('<span>' + country + (i += 1) + '</span> ')
});

http://jsfiddle.net/ethagnawl/YQSHr/3/

于 2013-03-10T20:57:13.187 に答える
0

あなたのコードは無効です。

var flags = {USA, Brazil, Germany, Canada};//error

オブジェクトまたは配列の使用方法を調べて、混合ではなくいずれかを選択してください。これはあなたが抱えている問題を解決します。回答で他の人が指摘したように、文字列の配列を使用してインデックスと一致させるか、オブジェクト内のインデックスを使用して文字列と一致させることができます。

これは基本的に、フラグを次のように変更することを意味します。

var flags = ["USA","Brazil","Germany","Canada"];

http://jsfiddle.net/YQSHr/6/


ただし、使用しているフラグの数によっては、データ構造を使用したい場合があります。

var flagHolder = (function(){
 var flags = [];
 var flagIndex = 0;
 function addFlag(name){
  var flag = {};
  flag.name = name;
  flag.index = flagIndex++;
  flags.push(flag);
  return flag.index;
 }
 function getFlag(index){
  return flags[index];
 }
 function getAllFlags(){
  return flags;
 }
 return { 
  getAllFlags: getAllFlags,
  getFlag: getFlag,
  addFlag: addFlag
 };
})();

次のように使用できます。

var USA = flagHolder.addFlag("USA");
var Canada = flagHolder.addFlag("Canada");
var Germany = flagHolder.addFlag("Germany");
var Brazil = flagHolder.addFlag("Brazil");
//Get Single
$("#flag").html(flagHolder.getFlag(USA).name);
//Get All
$.each(flagHolder.getAllFlags(), function(key,value){
 $('#flags').append('<span>' + (key+1) + '</span> ');
});

これがそのデモです: http://jsfiddle.net/YQSHr/7/

于 2013-03-10T21:13:28.437 に答える
0
var flags = ['USA', 'Canada', 'Germany'];

$.each(flags, function(key, value){
   $('#flags').append('<span>' + (key+1) + ' '+ value + '</span> ')
});

文字列で配列を設定する

デモビュー

于 2013-03-10T20:58:25.087 に答える