[解決済み] Jqueryで配列にキーと値の両方をプッシュする方法
2022-12-03 03:41:15
質問
読書中 RSSフィード で、タイトルとリンクの両方を配列にプッシュしています。 Jquery .
私が行ったのは
var arr = [];
$.getJSON("displayjson.php",function(data){
$.each(data.news, function(i,news){
var title = news.title;
var link = news.link;
arr.push({title : link});
});
});
そして、その配列をもう一度
$('#show').click(function(){
$.each(arr, function(index, value){
alert( index +' : '+value);
});
});
しかし、それは私に 出力 として
1:[Object Object]
2:[Object Object]
3:[Object Object]
このように
どうすれば タイル と リンク を一組として ( タイトルがキーで、リンクが値 )
どのように解決するのですか?
JavaScriptの配列にはキーがありません。そのためにオブジェクトを使用します。
var obj = {};
$.getJSON("displayjson.php",function (data) {
$.each(data.news, function (i, news) {
obj[news.title] = news.link;
});
});
// later:
$.each(obj, function (index, value) {
alert( index + ' : ' + value );
});
JavaScriptでは、オブジェクトは連想配列の役割を果たします。オブジェクトは反復するときに定義された "ソート順" を持たないことに注意してください(下記参照)。
しかし
あなたの場合、なぜ元のオブジェクトからデータを転送するのか、私にはよくわかりません (
data.news
)からデータを転送するのか、私にはよくわかりません。なぜ、単に
その
オブジェクトへの参照を渡さないのでしょうか?
オブジェクトと配列を組み合わせることで、予測可能な反復処理を実現することができます と キー/バリューの振る舞いを実現します。
var arr = [];
$.getJSON("displayjson.php",function (data) {
$.each(data.news, function (i, news) {
arr.push({
title: news.title,
link: news.link
});
});
});
// later:
$.each(arr, function (index, value) {
alert( value.title + ' : ' + value.link );
});
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] 配列を値でコピーする
-
[解決済み] WebKit の event.layerX と event.layerY に関する問題
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] jQuery UIダイアログのクローズボタンを削除するには?
-
[解決済み] jQueryを使って「Please Wait, Loading...」というアニメーションを作成するにはどうすればよいですか?
-
[解決済み] 既存の非順序型リストにリストアイテムを追加する方法
-
[解決済み] jQueryがどのバージョンで読み込まれているかを確認するには?
-
[解決済み] Bootstrapのモーダルを閉じる
-
[解決済み] jQueryを使用してテキストボックスの値を取得するには?
-
[解決済み] val()を使ってselectの値を設定しても、jqueryのchangeイベントが発生しないのはなぜですか?
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み] jQueryを使用して要素の型を検索する