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

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

對(duì)象數(shù)組優(yōu)化

對(duì)象數(shù)組優(yōu)化

慕哥6287543 2021-12-02 19:33:07
下面我有一組從服務(wù)器接收的數(shù)據(jù)。我需要從數(shù)據(jù)中找到哪個(gè)“id”連接到哪個(gè)“apip”我有下面的工作代碼。我的問(wèn)題是......我是否以最有效的方式做到了這一點(diǎn)?我的策略如下:第 1 步 - 捕獲所有的 apip 將它們保存到一個(gè)數(shù)組中第 2 步 - 清除所有重復(fù)的 apip第 3 步 - for 循環(huán)比較 apip 是否匹配 apip- 如果真的捕獲該 ID-else 將該 ID 存儲(chǔ)在 apip 2 上(我知道我只有 2 個(gè)可能的 APIP)第 4 步 - 清除任何重復(fù)的“id”這是最好的方法嗎?
查看完整描述

2 回答

?
HUH函數(shù)

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

要找到uniqs 中的一個(gè)(我們稱之為 s oneApip),只需檢查s的第一個(gè)元素data- 您不需要 Set 或迭代所有這些元素。然后迭代dataand,對(duì)于每個(gè)元素,添加到一個(gè)或另一個(gè)集合,具體取決于它是否apip匹配oneApip:


var data=[{time:"1571965891.8420029",rssi:"30",id:"123456789",apip:"172.172.172.172.1"},{time:"1571971066.8283374",rssi:"30",id:"100",apip:"172.172.172.172.2"},{time:"1571965476.4821894",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571965894.140705",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571965893.1654441",rssi:"30",id:"123456789",apip:"172.172.172.172.1"},{time:"1571970952.7499905",rssi:"30",id:"9999999",apip:"172.172.172.172.1"},{time:"1571965888.1338017",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571970925.342063",rssi:"30",id:"66666",apip:"172.172.172.172.1"},{time:"1571965890.158157",rssi:"30",id:"123456789",apip:"172.172.172.172.1"}];


const oneApip = data[0].apip;

const set1 = new Set();

const set2 = new Set();

for (const { apip, id } of data) {

  (apip === oneApip ? set1 : set2).add(id);

}

const uniq1 = [...set1];

const uniq2 = [...set2];

console.log(uniq1);

console.log(uniq2);


更一般地,對(duì)于任意數(shù)量的apips,創(chuàng)建一個(gè)由 索引的對(duì)象apip,其值為集合:


var data=[{time:"1571965891.8420029",rssi:"30",id:"123456789",apip:"172.172.172.172.1"},{time:"1571971066.8283374",rssi:"30",id:"100",apip:"172.172.172.172.2"},{time:"1571965476.4821894",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571965894.140705",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571965893.1654441",rssi:"30",id:"123456789",apip:"172.172.172.172.1"},{time:"1571970952.7499905",rssi:"30",id:"9999999",apip:"172.172.172.172.1"},{time:"1571965888.1338017",rssi:"30",id:"123456789",apip:"172.172.172.172.2"},{time:"1571970925.342063",rssi:"30",id:"66666",apip:"172.172.172.172.1"},{time:"1571965890.158157",rssi:"30",id:"123456789",apip:"172.172.172.172.1"}];


const grouped = {};

for (const { apip, id } of data) {

  if (!grouped[apip]) {

    grouped[apip] = new Set();

  }

  grouped[apip].add(id);

}

const arrs = Object.entries(grouped)

  .map(([apip, set]) => [apip, [...set]]);

console.log(arrs);


查看完整回答
反對(duì) 回復(fù) 2021-12-02
?
天涯盡頭無(wú)女友

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

你可以做:


const data = [{"time": "1571965891.8420029","rssi": "30","id": "123456789","apip": "172.172.172.172.1"}, {"time": "1571971066.8283374","rssi": "30","id": "100","apip": "172.172.172.172.2"}, {"time": "1571965476.4821894","rssi": "30","id": "123456789","apip": "172.172.172.172.2"}, {"time": "1571965894.140705","rssi": "30","id": "123456789","apip": "172.172.172.172.2"}, {"time": "1571965893.1654441","rssi": "30","id": "123456789","apip": "172.172.172.172.1"}, {"time": "1571970952.7499905","rssi": "30","id": "9999999","apip": "172.172.172.172.1"}, {"time": "1571965888.1338017","rssi": "30","id": "123456789","apip": "172.172.172.172.2"}, {"time": "1571970925.342063","rssi": "30","id": "66666","apip": "172.172.172.172.1"}, {"time": "1571965890.158157","rssi": "30","id": "123456789","apip": "172.172.172.172.1"}]


const sets = data.reduce(

    (a, { apip, id }, _, arr) => ((apip === arr[0].apip ? a.one : a.two).add(id), a),

    { 

      one: new Set(), 

      two: new Set() 

    }

  ),

  result = {

    uniqDataFromAP1: [...sets.one],

    uniqDataFromAP2: [...sets.two]

  }


console.log(result)

.as-console-wrapper {max-height: 100% !important;top: 0;}


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

添加回答

舉報(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)