es6 unique array of objects with set

前端 未结 3 1350
傲寒
傲寒 2020-12-11 15:21

I came across this example for creating unique arrays with es6

[ ...new Set(array) ]

Which seems to work fine until I tried it with an arra

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-11 15:52

    This will work:

    let objectReference = {id:123,value:'test'}
    let uniqueArray = [...new Set([objectReference, objectReference])]
    
    >> [{id:123,value:'test'}]
    

    What you're doing:

    let objRef1 = {id:123,value:'test'} // creates a reference to a location in memory
    let objRef2 = {id:123,value:'test'} // creates a new reference to a different place in memory
    
    let uniqueArray = [...new Set([objRef1, objRef2])]
    
    >> [{id:123,value:'test'},{id:123,value:'test'}]
    

提交回复
热议问题