您好我有一些朋友this.venner
我也有一个名为this.convensations
的数组,输出类似于this.venner
,
但这里的id称为partner_id
(partner_id输出为54312,54345,54346)
现在我想比较this.convensation partner_id
和this.venner id
是否相同
类似的东西:
if (this.convensation in this.venner) {
//do something
} else {
// do something
}
答案 0 :(得分:1)
您可以使用过滤器,
var result = this.venner.filter(t=>t.id === '54312');
if (result.length >0) {
//do something
} else {
// do something
}
答案 1 :(得分:1)
您可以使用Array.prototype.some()方法。
如果你将其包含在自己的checkExistsInArray
函数中......
function checkExistsInArray(arr, compareObj){
return arr.some(function(obj){
return compareObj[Object.keys(compareObj)] === obj[Object.keys(compareObj)];
});
}
...然后你应该能够通过传入自定义比较对象将它用于两个数组。
var friendExists = checkExistsInArray(this.venner, { id: this.friend });
var conversationExists = checkExistsInArray(this.conversations, { partner_id: this.friend });
旁注:正如其他人所指出的那样,有些图书馆可以随时做这类事情。我所知道的两个主要参与者是Underscore.js和Lodash。即使您选择不使用它们,在寻找一些灵感时,有时也可以看到它们在引擎盖下如何工作。
答案 2 :(得分:0)
您只需使用Undescore.js _.find函数
即可解决此问题 volume_weighted_price log_return
datetime
2017-01-04 18:55:00 101.250000 NaN
2017-01-04 19:00:00 102.000000 0.007380
2017-01-05 04:00:00 NaN NaN
2017-01-05 04:05:00 NaN NaN
2017-01-05 04:10:00 101.900000 NaN
2017-01-05 04:15:00 101.900000 0.000000
2017-01-05 04:20:00 101.900000 0.000000
2017-01-05 04:25:00 101.900000 0.000000
2017-01-05 04:30:00 101.900000 0.000000
2017-01-05 04:35:00 102.616667 0.007008
2017-01-05 04:40:00 103.000000 0.003729