在JS / Jquery中组合两个数组

时间:2017-12-06 15:03:11

标签: javascript jquery html css arrays

大家好我在javascript中有关于数组的问题,所以让我们开始吧,我的问题是“我可以使用数组让我们说它叫'食物'而且它有各种类型的食物(汉堡,披萨,鱼) ,所以当我通过随机函数获得结果时,我的其他函数可以使用该结果,让我们说“披萨”让我的另一个数组有“名字,地址,你可以吃披萨的地方”)

所以这是两个按钮,一个输入类型=“text”表示第一个随机函数的结果,另一个表示第二个具有地址和项目名称的项目,javascript / jquery,我可以为您提供基本代码我试过了

所以我的第一个想法就是得到类似开关的东西,所以如果随机功能的结果是“披萨”,它进入开关 - 比萨饼的情况下,那将是所有信息

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

1 个答案:

答案 0 :(得分:1)

以下是我之前删除的答案的改进版本。您不需要2个数组,只需存储随机函数返回的值,以便在需要时使用它。



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>
&#13;
&#13;
&#13;