首页 > 解决方案 > 我想使用 javscript map 使数组独一无二——我正在使用 react 框架

问题描述

我的数据库包含重复值,但我想在反应的下拉列表中显示唯一数据。我试过使用地图,但它不工作

这是代码:

array.map(item => item.city)
  .filter((value, index, self) => self.indexOf(value) === index)

标签: javascriptreactjs

解决方案


var arrayWithDuplicates = [
{"type":"LICENSE", "licenseNum": "12345", state:"NV"},
{"type":"LICENSE", "licenseNum": "A7846", state:"CA"},
{"type":"LICENSE", "licenseNum": "12345", state:"OR"},
{"type":"LICENSE", "licenseNum": "10849", state:"CA"},
{"type":"LICENSE", "licenseNum": "B7037", state:"WA"},
{"type":"LICENSE", "licenseNum": "12345", state:"NM"}];

function removeDuplicates(originalArray, prop) {
 var newArray = [];
 var lookupObject  = {};

 for(var i in originalArray) {
    lookupObject[originalArray[i][prop]] = originalArray[i];
 }

 for(i in lookupObject) {
     newArray.push(lookupObject[i]);
 }
  return newArray;
 }

 var uniqueArray = removeDuplicates(arrayWithDuplicates, "licenseNum");
 console.log("uniqueArray is: " + JSON.stringify(uniqueArray));

参考:这里


推荐阅读