Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript AJAX调用中收集仅包含指定键的数组?_Javascript_Jquery_Ajax - Fatal编程技术网

如何在JavaScript AJAX调用中收集仅包含指定键的数组?

如何在JavaScript AJAX调用中收集仅包含指定键的数组?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我到处找了,找不到答案 能否指定一个AJAX调用,使其仅返回与提供的键相等的数组 我制作了一个简单的随机化器,通常在搜索时效果很好,但是当你过滤搜索时,返回结果可能需要一分钟的时间,因为我已经将它设置为通过与变量“query”相等的测试。如果未通过,则函数将重新启动,直到返回一个等于var查询的随机数组 当然,我想加快这个过程。有人能提出建议吗?我相信这是件简单的事,事先道歉 您可以在此处看到工作演示: 我想我必须在成功后操作我的数据对象: function getTreasure() {

我到处找了,找不到答案

能否指定一个AJAX调用,使其仅返回与提供的键相等的数组

我制作了一个简单的随机化器,通常在搜索时效果很好,但是当你过滤搜索时,返回结果可能需要一分钟的时间,因为我已经将它设置为通过与变量“query”相等的测试。如果未通过,则函数将重新启动,直到返回一个等于var查询的随机数组

当然,我想加快这个过程。有人能提出建议吗?我相信这是件简单的事,事先道歉

您可以在此处看到工作演示:

我想我必须在成功后操作我的数据对象:

function getTreasure() {
  $.ajax({
    url: "https://codepen.io/ohBretterson/pen/QVGRwG.js",
    async: true,
    success: function(csvd) {
      data = $.csv.toArrays(csvd);
    },
    dataType: "text",
    complete: function() {

      let i = Math.floor(Math.random() * data.length);
      let type = data[i][5];
      let rarity = data[i][3];
      let item = data[i][0];
      let desc = data[i][1];
      let req = data[i][6];
      let req2 = data[i][7];

      //       Filter query
      if (query === undefined) {
      } else if (rarity !== query && type !== query) {
        return getTreasure();
      }  

      $(".controls").fadeIn("slow");

      let content = `
<div class='type fade-in'>${type}</div>
<div class='rarity'>${rarity}</div>
<div class="cardContainer">
<p class='itemName fade-in'>${item}</p>
<div class="cardContents fade-in">
<div class="description">${desc}</div>
<hr>
<div class='requirement'>${req}<br>${req2}</div>

</div>
</div>
<div class='coin fade-in'><p class="est-value">est.value</p>${data[i][2]}</div>
<div class='weight fade-in'><p class="weight-value">weight</p>${
      data[i][4]
      }</div>
<div class='author fade-in'>${data[i][8]}</div>

<svg stroke='#000000' stroke-width='1' stroke-miterlimit='10' class='path' id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 257 368.51"><title>thing</title><circle class="circleStroke" cx="32.3" cy="338.56" r="21.2" style="fill:none;stroke:#000;stroke-miterlimit:10"/><path class="weightStroke" d="M750.58,363.36l-6.05-24.19A2.7,2.7,0,0,0,742,337h-5a7.94,7.94,0,1,0-15.42-2.65,7.74,7.74,0,0,0,.49,2.65h-5a2.71,2.71,0,0,0-2.56,2.14l-6,24.19a4.28,4.28,0,0,0,3.84,5.48h34.45C749.37,368.84,751.27,366.12,750.58,363.36Zm-21.06-26.92a2.95,2.95,0,1,1,3-2.94A2.94,2.94,0,0,1,729.52,336.44Z" transform="translate(-511.5 -15.75)" style="fill:none;stroke:#000;stroke-miterlimit:10"/><path class="innerStroke" d="M521.88,34.31h.33v-.37a9.85,9.85,0,0,1,9.84-9.84H750.3a9.85,9.85,0,0,1,9.85,9.84V366.06a9.85,9.85,0,0,1-9.85,9.84H563.22a29,29,0,1,0-41-41V62.58" transform="translate(-511.5 -15.75)" style="fill:none;stroke:#000;stroke-miterlimit:10"/><path class="innerStroke" d="M514.36,62.58V361.22a22.53,22.53,0,0,0,22.53,22.53H745.46A22.53,22.53,0,0,0,768,361.22V38.78a22.53,22.53,0,0,0-22.54-22.53H536.89A22.54,22.54,0,0,0,514.8,34.31" transform="translate(-511.5 -15.75)" style="fill:none;stroke:#000;stroke-miterlimit:10"/><path class="ribbonStroke" d="M670.63,62.58H513.28A1.28,1.28,0,0,1,512,61.29V35.6a1.29,1.29,0,0,1,1.29-1.29H670.63l-7.86,14.13Z" transform="translate(-511.5 -15.75)" style="fill:none;stroke:#000;stroke-miterlimit:10"/></svg>
`;

      $("#card").html(content)
      $(".fade-in")
        .animate("slow")
        .css("opacity", "1");
      $("hr").css("width", "60%");

      if (type === "Book"){
        $("body").removeClass().addClass('book', 1000);
      } else if (type === "Potion"){
       $("body").removeClass().addClass('potion', 1000); 
      } else if (type === "Armor"){
       $("body").removeClass().addClass('armor', 1000); 
      } else if (type === "Adventuring Gear"){
       $("body").removeClass().addClass('gear', 1000); 
      } else if (type === "Quest Hook"){
       $("body").removeClass().addClass('quest', 1000); 
      } else if (type === "Ring"){
       $("body").removeClass().addClass('ring', 1000); 
      } else if (type === "Treasure"){
       $("body").removeClass().addClass('treasure', 1000); 
      } else if (type === "Weapon"){
       $("body").removeClass().addClass('weapon', 1000); 
      } else if (type === "Wondrous Item"){
       $("body").removeClass().addClass('wondrous-item', 1000); 
      } else $("body").removeClass();

    }
  });
}
函数getTreasure(){ $.ajax({ url:“https://codepen.io/ohBretterson/pen/QVGRwG.js", async:true, 成功:功能(csvd){ 数据=$.csv.toArray(csvd); }, 数据类型:“文本”, 完成:函数(){ 设i=Math.floor(Math.random()*data.length); 设类型=数据[i][5]; 稀有性=数据[i][3]; 设项=数据[i][0]; 设desc=data[i][1]; 设req=data[i][6]; 设req2=数据[i][7]; //过滤查询 如果(查询===未定义){ }else if(稀有性!==查询和类型!==查询){ 返回getTreasure(); } $(“.controls”).fadeIn(“慢”); 让内容=` ${type} ${rarity}

${item}

${desc}
${req}
${req2}

est.value

${data[i][2]} 重量${ 资料[一][4] } ${data[i][8]} 事情 `; $(“#卡片”).html(内容) $(“淡入”) .动画(“慢”) .css(“不透明度”、“1”); $(“hr”).css(“宽度”,“60%”); 如果(类型=“书本”){ $(“body”).removeClass().addClass('book',1000); }否则如果(类型==“药剂”){ $(“body”).removeClass().addClass('potion',1000); }否则如果(类型==“装甲”){ $(“body”).removeClass().addClass('armor',1000); }否则,如果(类型==“冒险装备”){ $(“body”).removeClass().addClass('gear',1000); }否则如果(类型==“任务挂钩”){ $(“body”).removeClass().addClass('quest',1000); }else if(类型==“环”){ $(“body”).removeClass().addClass('ring',1000); }否则如果(类型==“宝藏”){ $(“body”).removeClass().addClass('treasure',1000); }否则如果(类型==“武器”){ $(“body”).removeClass().addClass('武器',1000); }else if(类型==“奇妙物品”){ $(“body”).removeClass().addClass('wondulus-item',1000); }else$(“body”).removeClass(); } }); }
与随机获取结果并根据查询进行测试不同,您应该向端点提供该查询元素,它应该返回您所需的数据。谢谢,我想我最初的问题只是,我该怎么做?