2017-12-06 15 views
-2

こんにちは皆私はjavascriptの配列に関する質問があるので、始めましょう、私の質問は「配列を使用して、 'food'と呼ばれることができます。 (ハンバーガー、ピザ、魚)ので、私は他の関数がその結果を使用することができますランダムな関数を介して結果を得るときに "ピザを食べることができる場所の名前、アドレス"を持っている私の他の配列を取得する "ピザ"JS/Jqueryで2つの配列を結合する

2つのボタンですが、1つの入力タイプ=最初のランダム関数の結果の「テキスト」と、住所と場所の名前を持つ2番目のアイテムのスパン、javascript/jquery、私は基本コードを提供できます私が試したもの

私の前身tは、ここで考えランダム関数の結果は、それがスイッチに入ることを「ピザ」である場合ので、例束とスイッチのようなものを取得することです - 改善されているすべての情報ここで

"https://codepen.io/nikolamilovac/pen/yPWaxz" 
+5

。 – Blazemonger

+0

キー=>値オブジェクトではないのはなぜですか? '{'pizza':{'locations':['foo'、 'bar'、 'fuu']}}'? –

+1

この質問のタイトルをGoogleに渡すと、googleの最初の2つの結果は、必要なjQueryメソッドです。 –

答えて

1

だろうがピザ用ケースと私の以前の削除された答えのバージョン。 2つの配列は必要ありません。必要に応じてランダム関数から返された値を格納するだけで済みます。 https://api.jquery.com/jquery.extend/オブジェクト上で動作している間、アレイのために働くhttps://api.jquery.com/jquery.merge/

var placesWhereYouCanEat = [{ 
 
    what: 'gencive de porc', 
 
    locations: ['Paris'] 
 
}, { 
 
    what: 'fish', 
 
    locations: ['London'] 
 
}, { 
 
    what: 'burger', 
 
    locations: ['Berlin'] 
 
}], 
 
selectedPlace; 
 

 
function getRandomIndex() { 
 
    return Math.floor(Math.random() * placesWhereYouCanEat.length); 
 
} 
 

 
document.getElementById('what').addEventListener('click', function() { 
 
    selectedPlace = placesWhereYouCanEat[getRandomIndex()]; 
 
    
 
    document.getElementById('food').value = selectedPlace.what; 
 
    document.getElementById('locations').innerHTML = ''; 
 
}); 
 

 
document.getElementById('where').addEventListener('click', function() { 
 
    var locationsElement = document.getElementById('locations'); 
 
    locationsElement.innerHTML = ''; 
 
    
 
    selectedPlace.locations.forEach(function (location) { 
 
    var li = document.createElement('li'); 
 
    li.innerText = location; 
 
    locationsElement.appendChild(li); 
 
    }); 
 
});
<button id="what">What do I eat ?</button> 
 
<input id="food" type="text" /> 
 
<button id="where">Where do I eat ?</button> 
 
<ul id="locations"> 
 
</ul>

+0

ありがとうございました! – Dzo