こんにちはのキーを取得します。
どうすれば簡単に手に入りますか?
おかげ
こんにちはのキーを取得します。
どうすれば簡単に手に入りますか?
おかげ
var data = {
val1 : 'text1',
val2 : 'text2',
val3 : 'text3'
};
$.each(data, function(key, value) {
alert("The key is '" + key + "' and the value is '" + value + "'");
});
にはJavaScriptを有効にPHPのような "連想配列" が、オブジェクトを持っていないDemo
ありがとう、私はあなたが正しいこの作品を得るために配列を使用します –
を参照してください。オブジェクトには、値に対応する文字列キーが含まれている場合があります。配列は数値の数値のリストで、なので、key
が数字の場合は、オブジェクトではなく作業対象の配列でなければならないため、キーを取得できません。
したがって、$.each
のようなコールバックベースのイテレータではなく、単純なfor
-loopの配列を反復処理したいとします。
JavaScriptには「連想配列」がありません。
[1, 2, 3, 4, 5]
とオブジェクト:これはアレイを有する
{a: 1, b: 2, c: 3, d: 4, e: 5}
配列のアレイは[]
を用い
にアクセスされる0から始まるカウントされ、「キー」、彼らは、インデックスを持ってしていませんオブジェクトには[]
または.
を使用してアクセスできます。
例:
var array = [1,2,3];
array[1] = 4;
console.log(array); // [1,4,3]
var obj = {};
obj.test = 16;
obj['123'] = 24;
console.log(obj); // {test: 16, 123: 24}
あなたは問題を引き起こすかもしれない、代わりにint型のキーとして文字列を使用してアレイにアクセスしようとします。値ではなく配列のプロパティを設定します。
var array = [1,2,3];
array['test'] = 4; // this doesn't set a value in the array
console.log(array); // [1,2,3]
console.log(array.test); // 4
jQueryの$.each
は、これらの両方で動作します。 $.each
のコールバックでは、最初のパラメータkey
はオブジェクトのキーまたは配列のインデックスのいずれかです。
$.each([1, 2, 3, 4, 5], function(key, value){
console.log(key); // logs 0 1 2 3 4
});
$.each({a: 1, b: 2, c: 3, d: 4, e: 5}, function(key, value){
console.log(key); // logs 'a' 'b' 'c' 'd' 'e'
});
配列には関連キーがありません。インデックスがキーです。あなたは何をしようとしているのですか? – Guffa
あなたはどこにいるのですか?つまり、メッセージです。投稿する – thecodeparadox
サンプル配列(2-3要素)とあなたが期待する "連想キー"を教えてください。 –