javascript - 我想要把取出一個陣列(裡面放的是物件)中物件的某個屬性,再去重後重構,有什麼好的方法
大家讲道理
大家讲道理 2017-05-19 10:27:10
0
6
719


就是這樣一個數組,我要取出每個物件中的team_name的value值,去重後,在組成[{"teamName": "team_name的值" ,flag: false},{},{},,,]這種形式(所有的flag都是false),想到了解決方法(下面),想問有什麼優化麼,,實在是醜

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(6)
某草草

雷雷

阿神

雷雷

左手右手慢动作

我覺得最好用的去重方法思路如下:

let data = {}       // 判断是否是已经存在的数据
let teamName = []    // 存放结果
for (var item in team_name) {
  if (!data[item]) {    // 如果不存在  添加
    teamName.push({
      teamName: item
    })
  }
  data[item] = 1    // data的item赋值  下次判断的时候  这个值已经有了
}
PHPzhong

雷雷

我想大声告诉你


上午的時候我改成了這樣的方法,結果後續要用到這個teamList的flag時候,發現自己給自己挖了坑,每次都var一個data,然後生成的teamList指向改變,害我花了兩個多小時,console.log半天明明前後的是一個對像啊,最後還是問了老大才解決,在此記錄一下用第三方庫的時候想明白到底有沒有改變值,改變引用。 (_.這是引用了underscore第三方的函式庫)

刘奇

1.先循環將所有結果壓到一個數組中,然後再針對此數組做去重處理,缺點就是囉嗦。

2.循環取屬性結果時就做判斷,是否為重複項,處理得到最終結果,一次循環搞完,快。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板