자바스크립트 uniqueArrayByValue()

(자바스크립트 unique array by value()에서 넘어옴)

1 개요[ | ]

자바스크립트 uniqueArrayByValue()
let revisions = [
  {user:'A', timestamp:'2018-01-15T10:55:04Z'},
  {user:'B', timestamp:'2017-07-14T17:08:00Z'},
  {user:'C', timestamp:'2016-12-27T05:48:18Z'},
  {user:'B', timestamp:'2016-03-29T05:00:16Z'},
  {user:'A', timestamp:'2015-09-28T08:06:25Z'}
];
function uniqueArrayByValue(rows, column) {
  const arr = [];
  for( const i in rows ) {
    if( !arr.hasOwnProperty(rows[i][column]) ) arr[rows[i][column]] = rows[i];
  }
  return arr;
}
console.log( uniqueArrayByValue(revisions, 'user') );
// [
//   A: { user: 'A', timestamp: '2018-01-15T10:55:04Z' },
//   B: { user: 'B', timestamp: '2017-07-14T17:08:00Z' },
//   C: { user: 'C', timestamp: '2016-12-27T05:48:18Z' }
// ]
console.log( uniqueArrayByValue(revisions, 'asdf') );
// [ undefined: { user: 'A', timestamp: '2018-01-15T10:55:04Z' } ]
let rows = [
  { kind: "watermelon", price: 100 },
  { kind: "apple"     , price: 200 },
  { kind: "watermelon", price: 300 },
  { kind: "watermelon", price: 400 },
  { kind: "banana"    , price: 500 },
  { kind: "apple"     , price: 600 }
];
function uniqueArrayByValue(rows, column) {
  const arr = [];
  for( const i in rows ) {
    if( !arr.hasOwnProperty(rows[i][column]) ) arr[rows[i][column]] = rows[i];
  }
  return arr;
}
console.log( uniqueArrayByValue(rows, 'kind') );
// [
//   watermelon: { kind: 'watermelon', price: 100 },
//   apple: { kind: 'apple', price: 200 },
//   banana: { kind: 'banana', price: 500 }
// ]
console.log( uniqueArrayByValue(rows, 'asdf') );
// [ undefined: { kind: 'watermelon', price: 100 } ]

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}