javascript - 我想使用 javscript map 使数组独一无二——我正在使用 react 框架
问题描述
我的数据库包含重复值,但我想在反应的下拉列表中显示唯一数据。我试过使用地图,但它不工作
这是代码:
array.map(item => item.city)
.filter((value, index, self) => self.indexOf(value) === index)
解决方案
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));
参考:这里
推荐阅读
- javascript - 如何防止脚本在 html 帖子上运行
- java - 如何根据输入创建不同的spring bean
- java - @InjectMocks 类中的异常的 Junit 测试
- javascript - 事件处理程序可以在事件之间传播吗
- python-3.x - 云视频智能 API 错误 400 和 504
- tensorflow - Windows 致命异常:尝试使用 model_main.py 进行训练时发生访问冲突
- python - 如何将一系列矩阵相乘?
- java - 我无法让我的输出读取 NumberOfTopings,我认为是因为它是一个 int。我真的不知道如何正确格式化字符串以获取 int
- sql - 如何对列中的数据取平均值以创建新变量
- xamarin.forms - 如何在 About 页面中显示 Tabbar