[개발] Javascript 에서 Array 비교

안녕하세요 @realmankwon입니다.

Javascript 에서 Array를 사용하다 보면 filter 를 이용하여 원하는 값을 쉽게 찾곤 합니다.
이때 Array 내에 저장된 값이 배열이 경우에는 다음과 같이 단순 비교를 하면 제대로 동작을 하지 않습니다.

  const data = [[0, 1, 2], [0, 1]];
  const result = data.filter((value) => value == [0, 1, 2])

이때 result 의 값은 [] 으로 표시가 됩니다.

가장 쉬운 방법은 다음과 같이 JSON.stringify() 를 사용하는 것입니다.

  const data = [[0, 1, 2], [0, 1]];
  const result = data.filter((value) => JSON.stringify(value) == JSON.stringify([0, 1, 2]))


위와 같이 변경하면 [0, 1, 2]를 정확하게 찾아줍니다.


Sort:  

@realmankwon transfered 30.000 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 23.04%, steem power : 1925862.19, STU KRW : 1200.
@realmankwon staking status : 10719.319 KRWP
@realmankwon limit for KRWP voting service : 10.719 KRWP (rate : 0.001)
What you sent : 30.000 KRWP (Voting Percent over 100 %)
Refund balance : 25.686 KRWP [61768354 - 885153d84f1891b2685799863736007d97db0bc9]

Coin Marketplace

STEEM 0.23
TRX 0.06
JST 0.025
BTC 20213.61
ETH 1352.74
USDT 1.00
SBD 2.49