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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果屬性與比較值不匹配,如何更改數(shù)組中對象屬性的值?

如果屬性與比較值不匹配,如何更改數(shù)組中對象屬性的值?

慕工程0101907 2024-01-18 14:35:44
我想返回具有與valuesToCompare數(shù)組值不匹配的屬性的數(shù)組const arr = [{value: "test1", name: "name1"},{value: "test2", name: "name1"},{value: "test3", name: "name1"},{value: "test3", name: "name2"},{value: "test4", name: "name2"},]const valuesToCompare = ["test1", "test2", "test3", "test4"]預(yù)期產(chǎn)出[{value: "test4", name: "name1"},{value: "test1", name: "name2"},{value: "test2", name: "name2"},]
查看完整描述

2 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個贊

我不確定您是否想要根據(jù)值數(shù)組進(jìn)行匹配或排除,因此請?zhí)峁﹥烧撸?/p>


const arr = [{

    value: "test1",

    name: "name1"

  },

  {

    value: "test2",

    name: "name1"

  },

  {

    value: "test3",

    name: "name1"

  },

  {

    value: "test3",

    name: "name2"

  },

  {

    value: "test4",

    name: "name2"

  },

]


const valuesToCompare = ["test1", "test2"]


const excluding = arr.filter(obj => !valuesToCompare.includes(obj.value))


console.log("Excluding values:")

console.log(excluding)


const matching = arr.filter(obj => valuesToCompare.includes(obj.value))


console.log("Matching values:")

console.log(matching)


查看完整回答
反對 回復(fù) 2024-01-18
?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個贊

你可以像下面這樣做:

  • 分組arr依據(jù)name

  • 對于每個分組,過濾值

  • 將每個組展平為對象

const arr = [

  { value: "test1", name: "name1" },

  { value: "test2", name: "name1" },

  { value: "test3", name: "name1" },

  { value: "test3", name: "name2" },

  { value: "test4", name: "name2" },

];


const valuesToCompare = ["test1", "test2", "test3", "test4"];


const groupByName = arr.reduce((acc, el) => {

  if (acc[el.name]) {

    acc[el.name].push(el.value);

  } else {

    acc[el.name] = [el.value];

  }

  return acc;

}, {});


const res = Object.entries(groupByName)

  .map(([k, v]) => [k, valuesToCompare.filter((vtc) => !v.includes(vtc))])

  .map(([k, v]) => v.map((v) => ({ name: k, value: v })))

  .flat();


console.log(res);

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


查看完整回答
反對 回復(fù) 2024-01-18
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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