亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

根據條件javascript將鍵值對附加到字典數組

根據條件javascript將鍵值對附加到字典數組

偶然的你 2022-12-09 15:08:33
我有一系列字典var nodes ={A: {'name' : 'A'},B:{'name' : 'B'},C:{'name' : 'C'},D:{'name' : 'D'}E:{'name' : 'E'}}和另一個數組var X_Group = ['A', 'B'];我需要遍歷每個字典元素,如果它存在于數組 X_Group 中,則將值 X 附加到它們,否則附加 Y。IE。var nodes ={A: {'name' : 'A' , group :'X'},B:{'name' : 'B', group :'X'},C:{'name' : 'C', group :'Y'},D:{'name' : 'D', group :'Y'},E:{'name' : 'E', group :'Y'}}我努力了:  for (var key in nodes){    if (key in X_Group)      nodes[key].group = 'X';else       nodes[key].group = 'Y';  }But it does not work. Any suggestions  on how to fix the issue?
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

假設nodes一個Object而不是數組,并且X_Group是一個數組,您可以:

const nodes = {A:{'name':'A'},B:{'name':'B'},C:{'name':'C'},D:{'name':'D'},E:{'name':'E'}},

      X_Group = ['A', 'B'],

      

      result = Object.assign(

        {},

        ...Object

          .keys(nodes)

          .map(key =>

            ({[key]: {

              ...nodes[key], 

              group: X_Group.includes(nodes[key].name) ? 'X' : 'Y'

            }})))

            

console.log(result)

.as-console-wrapper{min-height:100%;}


查看完整回答
反對 回復 2022-12-09
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您不能使用“in”來檢查某個值是否在數組中。請改用 indexOf,它將返回元素的索引或 -1。

使用這個條件:

  if(X_Group.indexOf(nodes[key].name)!==-1)


查看完整回答
反對 回復 2022-12-09
  • 2 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號