陣列物件去重 其二

2021-09-22 01:24:31 字數 4014 閱讀 4636

arr =[,

,,,,

]

arr =[,

,]

leto=

this

.toup.

map(questionid => questionid[

'questionid'])

.reduce

((o, k, i)

=>

[o[k]

= i, o][1

],)// 對 `questionid` 值進行一次統計整理,形如

// [, , ]

// 對剛才的整理結果再進行一次整理

object.

keys(o

).map(k =>

裡的 questionid 值

// 構造乙個新的 object

let o =

;// o[k] 就是取出 k 所對應的 a 值最後一次在 toup **現的位置

// toup[o[k]] 就是 k 所對應的 questionid 值最後一次在 toup **現時所處的物件

// 對 toup[o[k]] 遍歷一次鍵

object.

keys

(this

.toup[

o[k]])

.foreach

(key => o[key]

= key ===

'questionid'

? o[key]

:this

.toup[

o[k]

][key]);

// 把 toup[o[k]] 上的鍵值挨個複製到 o 上

// ps. 突然發現剛才沒有在遍歷時跳過 questionid 的值,此處修改一下,原答案裡就不改了。

// 返回構造好的新物件

this

.toups.

push

(o);

})

for=

"(n, index) in cateenlist"

:key=

"'xu'+index"

>

="itemtitle"

>

"color:red;font-weight:bold;"

>

*<

/span>

}<

/div>

="item"

:class

="n.ischecked1?'bgcolor':''" @click=

"tochecked(index,1)"

>

"!n.ischecked1"

class

="circle"

>

<

/div>

else

class

="checked"

>

="checkedsm"

>

<

/div>

<

/div>

滿意<

/div>

<

/div>

="item"

:class

="n.ischecked2?'bgcolor':''" @click=

"tochecked(index,2)"

>

"!n.ischecked2"

class

="circle"

>

<

/div>

else

class

="checked"

>

="checkedsm"

>

<

/div>

<

/div>

較滿意<

/div>

<

/div>

="item"

:class

="n.ischecked3?'bgcolor':''" @click=

"tochecked(index,3)"

>

"!n.ischecked3"

class

="circle"

>

<

/div>

else

class

="checked"

>

="checkedsm"

>

<

/div>

<

/div>

一般<

/div>

<

/div>

="item"

:class

="n.ischecked4?'bgcolor':''" @click=

"tochecked(index,4)"

>

"!n.ischecked4"

class

="circle"

>

<

/div>

else

class

="checked"

>

="checkedsm"

>

<

/div>

<

/div>

不滿意<

/div>

<

/div>

<

/div>

cateenlist:[,

,,,,

,,],

toup:

,toups:[,

],form1:

tochecked

(index,num)

else

if(num==2)

else

if(num==3)

else

if(num==4)

this

.toup.

push()

//將每一題的題號、題目、選項 加到陣列toup中提交。if(

this

.toup.length>=7)

)// 對 `questionid` 值進行一次統計整理,形如

// [, , ]

// 對剛才的整理結果再進行一次整理

object.

keys(o

).map(k =>

裡的 questionid 值

// 構造乙個新的 object

let o =

;// o[k] 就是取出 k 所對應的 a 值最後一次在 toup **現的位置

// toup[o[k]] 就是 k 所對應的 questionid 值最後一次在 toup **現時所處的物件

// 對 toup[o[k]] 遍歷一次鍵

object.

keys

(this

.toup[

o[k]])

.foreach

(key => o[key]

= key ===

'questionid'

? o[key]

:this

.toup[

o[k]

][key]);

// 把 toup[o[k]] 上的鍵值挨個複製到 o 上

// ps. 突然發現剛才沒有在遍歷時跳過 questionid 的值,此處修改一下,原答案裡就不改了。

// 返回構造好的新物件

this

.toups.

push

(o);})

this

.form1 =

this

.toups.

slice(-

7).concat

(this

.toups.

slice(0

,2))

//取toups[0] [1] 和 toups 後7題 一共 9題

}}

JS陣列去重,物件去重

例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...

陣列 物件去重

var arr 1,2,3,1,3,是是 是是 2 測試 服務 測試 nan,nan,服務 服務 arr new set arr console.log arr set 是es6新加的集合,集合中的值不會重複。操作符 會將可遍歷物件,轉換為陣列 let arr 1,2,2,3,4,4,4 let s...

陣列物件去重

let temp this.tabledata this.tabledata.reduce prev,curv 如果臨時物件沒有就把這個名字加進去,同時把當前的這個物件加入到prev中 else return prev 在這裡插入 片 第二塊 去重 let obj this.childs good ...