Javascript 是否在数组中显示特定对象值,而不是单独显示?

Javascript 是否在数组中显示特定对象值,而不是单独显示?,javascript,jquery,arrays,json,object,Javascript,Jquery,Arrays,Json,Object,我使用ajax调用从GooglesPlacesAPI检索数据,并使用for/in循环开始提取信息。我正在控制台中查找日志的信息,但我无法将其以我希望的方式显示在数组中 现在,当我请求名称(JSON对象中的一个参数)时,我得到了一个名称列表。是否有方法将其放入数组中,以便我可以从数组中随机选择一个值 此时,它返回数据的方式是,当我运行脚本提取随机字符串时,它从搜索JSON对象时要找到的最后一个值中提取一个随机字母 这是我的密码。我不确定我是否解释清楚,但这是我能说的最好的话,我想做什么。谢谢 //

我使用ajax调用从GooglesPlacesAPI检索数据,并使用for/in循环开始提取信息。我正在控制台中查找日志的信息,但我无法将其以我希望的方式显示在数组中

现在,当我请求名称(JSON对象中的一个参数)时,我得到了一个名称列表。是否有方法将其放入数组中,以便我可以从数组中随机选择一个值

此时,它返回数据的方式是,当我运行脚本提取随机字符串时,它从搜索JSON对象时要找到的最后一个值中提取一个随机字母

这是我的密码。我不确定我是否解释清楚,但这是我能说的最好的话,我想做什么。谢谢

// **GLOBAL VARIABLES** //

// Chosen Restaurant display area
var display = document.getElementById('chosenVenue');
// Grab button
var button = document.getElementById('selectVenue');
// Sample Array that gets queried
var venueData = ["McDonalds", "Burger King", "Wendys"];



// Grab JSON data from Google
$(document).ready(function(){
$.ajax({
  url: 'hungr.php', // Send query through proxy (JSONP is disabled for Google maps)
  data: { requrl: "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=40.7484,-73.9857&radius=800&sensor=false&keyword=restaurants,food&key=AIzaSyBkCkXIHFjvqcqrRytSqD7T_RyFMNkR6bA&callback=?"}, // URL to query WITH parameters
  dataType: "json",
  type: "GET", // or POST if you want => update php in that case
  success: function (data) {
     // Traverse the array using for/in loop using i as var
     for (var i in data.results) {
         var results = data.results[i];
        var nameResults = results.name;
            console.log(nameResults);
        var typesResults = results.types;
            console.log(typesResults);
        var vicinityResults = results.vicinity;
            console.log(vicinityResults);

     };      


      // On button click, randomly display item from selected array
      button.addEventListener('click', function () {
        console.log('clicked');
        display.style.display = 'block';
        //display.innerHTML = nameResults[Math.floor(Math.random() * nameResults.length)];
        display.innerHTML = nameResults.toString() + "<br />"  + vicinityResults.toString();
      });



      console.log('It is working');

  },
     error: function (request, status, error) {
    console.log('It is not working');
}
});
    });
//**全局变量**//
//精选餐厅展示区
var display=document.getElementById('chosenVenue');
//抓取按钮
var按钮=document.getElementById('selectVincement');
//得到查询的示例数组
var venueData=[“麦当劳”、“汉堡王”、“温迪”];
//从谷歌抓取JSON数据
$(文档).ready(函数(){
$.ajax({
url:'hungr.php',//通过代理发送查询(谷歌地图禁用JSONP)
数据:{requrl:“https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=40.7484,-73.9857&radius=800&sensor=false&keyword=restaurants,food&key=AIzaSyBkCkXIHFjvqcqrRytSqD7T_RyFMNkR6bA&callback=?“},//用于查询参数的URL
数据类型:“json”,
在这种情况下,键入:“GET”、//或POST=>updatephp
成功:功能(数据){
//使用for/in循环遍历数组,使用i作为变量
for(data.results中的var i){
var结果=数据。结果[i];
var namesults=results.name;
console.log(namesults);
var typesResults=results.types;
控制台日志(类型结果);
var vicinityResults=结果.results;
console.log(vicinityResults);
};      
//单击按钮时,随机显示选定阵列中的项目
按钮。addEventListener('click',函数(){
console.log('clicked');
display.style.display='block';
//display.innerHTML=nameResults[Math.floor(Math.random()*nameResults.length)];
display.innerHTML=nameResults.toString()+“
”+vicinityResults.toString(); }); console.log(“它正在工作”); }, 错误:功能(请求、状态、错误){ console.log(“它不工作”); } }); });
现在,当我请求名称(JSON对象中的一个参数)时,我得到了一个名称列表。是否有方法将其放入数组中,以便我可以从数组中随机选择一个值

使用
push
方法和非局部变量:

this.nameResults = this.nameResults ? this.nameResults.push(results.name) : [];
然后使用
Math.random
方法引用该值:

this.randName = function(){ return this.nameResults[Math.random() * this.nameResults.length | 0] };
参考资料


如果可能,是否可以发布返回的
数据
对象?Thanks@guest271314控制台中返回的数据只列出了值,因此,如果我在循环中输入console.log name results,它将列出控制台中带有“name”参数的所有值,但不在数组中,只是将它们作为单个字符串列出。为清楚起见,请参考
数据
对象(文字)在进入
for
循环之前,在
$.ajax()返回
成功
。例如,
{results:[123456]}