如何对通过在 javascript 中连接两个不同数组创建的数组进行排序

How to sort an array which is created by joining two different arrays in javascript

我正在创建一个结果数组,它是通过连接来自两个不同请求的数组而形成的。结果有“地点”和“地址”。我将“地点”和“地址”分开并显示它们,但我想先显示地点然后再显示地址。任何人都可以帮忙。下面是我的代码 -

        let results_html = [];

        results_places = ['<li style="margin: 12px"><i style="display:block;float:left" class="material-icons">place</i><span style="font-size:1.25em;font-size: 20px">Places</span></li>']
        results_addresses = ['<li style="margin: 12px"><i style="display:block;float:left;font-size: 20px" class="material-icons">home</i><span style="font-size:1.25em">Addresses</span></li>']

        if (predictions && predictions.length) {
          // debugger;
          if (predictions[0].types.join().indexOf("postal_code")!=-1 || predictions[0].types.join().indexOf("locality")!=-1) {

            results_html.push(results_places);

          } else if(predictions[0].types.join().indexOf("health")!=-1|| predictions[0].types.join().indexOf("hospital")!=-1 || predictions[0].types.join().indexOf("route")!=-1 || predictions[0].types.join().indexOf("premise")!=-1 || predictions[0].types.join().indexOf("street_address")!=-1) {

            results_html.push(results_addresses);

          }

          predictions.forEach(function (prediction) {
            results_html.push(`<li class="autocomplete-item" data-type="place" data-place-id=${prediction.place_id}>      
                                    <span class="autocomplete-text">${prediction.description}</span></li>`);


          });
        }

        if (predictions2) {

          if (predictions2[0].types.join().indexOf("postal_code")!=-1 || predictions2[0].types.join().indexOf("locality")!=-1) {

            results_html.push(results_places);

          } else if(predictions2[0].types.join().indexOf("health")!=-1|| predictions2[0].types.join().indexOf("hospital")!=-1 || predictions2[0].types.join().indexOf("route")!=-1 || predictions2[0].types.join().indexOf("premise")!=-1 || predictions2[0].types.join().indexOf("street_address")!=-1) {

            results_html.push(results_addresses);

          }

          predictions2.forEach(function (prediction) {
            results_html.push(`<li class="autocomplete-item" data-type="place" data-place-id=${prediction.place_id}>      
                                    <span class="autocomplete-text">${prediction.description}</span></li>`);
           });
        }

        autocomplete_results.innerHTML = results_html.join("");

这是当前输出 -

我已经查看了您的代码,只需将此行编辑为

let displaySuggestions = function (predictions2, predictions) 

这里是jsfiddle