第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將名稱分配給數(shù)組的數(shù)組

將名稱分配給數(shù)組的數(shù)組

幕布斯6054654 2023-07-06 16:34:54
$(function() {    $.get("https://spreadsheets.google.com/feeds/list/1VC633BXpMElJjRWvIRuZIP7UrEhuw6BdscnrV2heox0/1/public/full?alt=json", function(data) {    var entry = data.feed.entry;    var getKeys = Object.keys(entry[0]).slice(6);    arr = getKeys.map(title => {      return entry.map((el) => {        return el[title].$t;      }).filter((el) => {        return el.trim();      });    });    console.log(getKeys);    console.log(arr);  });});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>上面的代碼會(huì)將谷歌工作表中的數(shù)據(jù)返回到數(shù)組數(shù)組中。getKeys我一直堅(jiān)持為每個(gè)組分配值arr以返回新的 arr 值:var arr = [  gsx$fruits = ["apple", "banana"],   gsx$animals = ["monkey", "dog", "cat", "bear"],   gsx$numbers = ["one", "two", "three", "four"]]...這樣我就可以不僅通過索引位置訪問特定組。感謝您的幫助!
查看完整描述

2 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

我做了一些大修改,但這里有另一種選擇:


$(async function() {

  const data = await $.get("https://spreadsheets.google.com/feeds/list/1VC633BXpMElJjRWvIRuZIP7UrEhuw6BdscnrV2heox0/1/public/full?alt=json");

  

  const arrays = {};

  for (const entry of data.feed.entry) {

    for (const key in entry) {

      if (key.slice(0, 4) != "gsx$") continue;

      if (!entry[key].$t.trim()) continue;


      const name = key.slice(4); // optional, you could also use `key`

      if (!arrays[name]) arrays[name] = [];

      arrays[name].push(entry[key].$t);

    }

  }

  

  console.log(arrays);

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


該解決方案首先創(chuàng)建一個(gè)arrays將保存不同數(shù)組的對(duì)象。然后,我循環(huán)遍歷這兩個(gè)data.feed.entry值,并且對(duì)于每個(gè)條目,我將循環(huán)遍歷鍵。如果key不以開頭"gsx$"或者修剪后關(guān)聯(lián)值為空字符串,我將跳到下一次迭代。

如果我們沒有跳過,請(qǐng)刪除前 4 個(gè)字符key并將這個(gè)新值分配給name(可選)。然后檢查是否arrays包含該屬性name,如果不包含則將其分配arrays[name]給空數(shù)組。

最后將值壓入數(shù)組。

我試圖讓這個(gè)答案易于理解,如果您有任何問題,請(qǐng)不要害怕發(fā)表評(píng)論。


查看完整回答
反對(duì) 回復(fù) 2023-07-06
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先你需要知道的是javaScript中的數(shù)組只是對(duì)象的一種特殊形式,而索引是整數(shù)類型的屬性名稱,因此如果你不僅想通過索引訪問數(shù)組中的元素,還想通過屬性名稱訪問數(shù)組中的元素,你可以使用計(jì)算屬性將這些值映射到不同的名稱。


const keys = ['fruits', 'animals', 'numbers']

const data = [

  ["apple", "banana"],

  ["monkey", "dog", "cat", "bear"],

  ["one", "two", "three", "four"]

];


data.forEach((item, index, array) => array[keys[index]] = item);


console.log(data);

console.log(data[0]);

console.log(data['fruits']);


雖然它可以解決您的問題,但它會(huì)改變?cè)紨?shù)組。如果您需要訪問具有屬性名稱的元素,我建議您使用另一種數(shù)組方法reduce,這樣您可以獲得新形式的數(shù)據(jù),并且保持原始數(shù)組不變。


const keys = ['fruits', 'animals', 'numbers']

const data = [

  ["apple", "banana"],

  ["monkey", "dog", "cat", "bear"],

  ["one", "two", "three", "four"]

];



const newFormData = data.reduce((acc, cur, index) => {

  return { ...acc,

    [keys[index]]: cur

  }

}, {});


console.log(data);

console.log(newFormData);


查看完整回答
反對(duì) 回復(fù) 2023-07-06
  • 2 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)