私はvar
含んでいます:
var flags = {USA, Brazil, Germany, Canada};
各キーの数で値を取得できます
数値を設定せずに数値 {1, 2, 3} を取得し、var
1 から開始する方法
var flags = {USA, Canada, Germany};
編集2:
また、私は別のものを持っていvar
ません,
var flags = 'USA Brazil Germany Canada';
私はvar
含んでいます:
var flags = {USA, Brazil, Germany, Canada};
各キーの数で値を取得できます
数値を設定せずに数値 {1, 2, 3} を取得し、var
1 から開始する方法
var flags = {USA, Canada, Germany};
編集2:
また、私は別のものを持っていvar
ません,
var flags = 'USA Brazil Germany Canada';
使用する
var flags = ['USA','Brazil','Germany','Canada'];
次に、それを繰り返すことができます
$.each(flags, function(key, value){
var yourkey = key + 1; // Because you want 1 indexed
}
文字列の配列が必要な場合は、角括弧を使用する必要があります。
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
var flags = ['USA', 'Canada', 'Germany'];
$.each(flags, function(i, country){
$('#flags').append('<span>' + country + (i += 1) + '</span> ')
});
あなたのコードは無効です。
var flags = {USA, Brazil, Germany, Canada};//error
オブジェクトまたは配列の使用方法を調べて、混合ではなくいずれかを選択してください。これはあなたが抱えている問題を解決します。回答で他の人が指摘したように、文字列の配列を使用してインデックスと一致させるか、オブジェクト内のインデックスを使用して文字列と一致させることができます。
これは基本的に、フラグを次のように変更することを意味します。
var flags = ["USA","Brazil","Germany","Canada"];
ただし、使用しているフラグの数によっては、データ構造を使用したい場合があります。
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/
var flags = ['USA', 'Canada', 'Germany'];
$.each(flags, function(key, value){
$('#flags').append('<span>' + (key+1) + ' '+ value + '</span> ')
});
文字列で配列を設定する