試圖從較大的陣列中獲取某些資訊到較新的陣列。有沒有一種更有效的方法可以僅使用索引中的索引來決議出我想要的資料desire_contents
airport_data_parser() 確實有效,但我正在尋找一個可以具有相同輸出但使用 desire_contents
airport_data = [["JFK","New York","United States",1,true],
["BOS","Massachusetts","United States",2,false],
["LOS","Califonia","United States",3,true],
["SJC","San Juan","United States",4,false]];
currated_airport_data = [];
//desire_contents is an array that contains the values of desired indices I want
desire_contents = [0,1,3];
unwanted_contents = [2,3];//tried [2,4] but for some reason [2,3] works
var airport_data_parser = function () {
if(airport_data.length > 0) {
for(var data in airport_data) {
currated_airport_data.push(airport_data[data]);
for(contents in unwanted_contents) {
currated_airport_data[data].splice(unwanted_contents[contents], 1);
}
}
}
console.log(currated_airport_data);
}
airport_data_parser();
期望的結果
currated_airport_data = [["JFK","New York",1],
["BOS","Massachusetts",2],
["LOS","Califonia",3],
["SJC","San Juan",4]];
uj5u.com熱心網友回復:
試試這個:
currated_airport_data = airport_data.map(arr => [arr[0], arr[1], arr[3]]);
或者更通用的解決方案:
indexes = [0,1,3];
currated_airport_data = airport_data.map(arr => indexes.map(ind => arr[ind]));
uj5u.com熱心網友回復:
var desire_contents = [0,1,3];
var currated_airport_data= airport_data .map(
x=>x.filter(
(x,index)=>desire_contents.includes(index)
)
);`
您可以使用地圖和過濾器功能選擇您的資料。在 map 函式中,我們一一獲取每個機場陣列,然后對其進行過濾。在過濾器函式中,我們檢查索引是否存在于我們想要的陣列中。如果它存在于我們想要的陣列中,我們將其保留在串列中。否則,過濾器函式不會將該值附加到新陣列中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422953.html
標籤:
上一篇:使用Puppeteer獲取<ul>下的mant<li>
下一篇:可以同時旋轉2個SVG多邊形嗎?
