我正在尝试使用find来查找key是否存在于一个对象数组中,但即使它们存在,它似乎也找不到它们:
var dtRng = ["1420070400000","1422748800000","1425168000000", etc];
var scnFtprntDates = { "values": [
{ "key": "1420070400000", "values": 289819.9054 },
{ "key": "1422748800000", "values": 289819.9054 },
{ "key": "1425168000000", "values": 289819.9054 },
etc
]};
var scn2 = scnFtprntDates.values
var lngth = scn2.length
for (var q = 0; q < dtRng.length; q++) {
if (_.some([scn2], ["key", dtRng[q]])) {
console.log("found");
} else {
console.log("not found");
}
}似乎返回控制台日志中的所有not found ..。
发布于 2016-12-12 20:33:26
将集合包装在一个额外的数组中,去掉方括号
if (_.some(scn2, ["key", dtRng[q]])) {
....发布于 2016-12-12 20:30:09
你不需要这样做,这条简单的一条线可以帮你:
dtRng.forEach(k => { const result = scnFtprntDates.values.filter(obj => obj.key === k).length > 0 ? 'found' : 'not found'; console.log(k, result) })https://stackoverflow.com/questions/41108913
复制相似问题