问题描述
假设我有两个dstore集合:value1和value2。
Suppose I have two dstore collections: value1 and value2.
我想找出value1而不是value2中有哪些项目。所以是这样的:
I want to find out what items are in value1 but not in value2. So something like this:
var filterCollection = value1.filter(function(item) {
return value2.notExists(item);
});
但是 notExists功能不是存在。我如何使这种逻辑起作用?
But "notExists" function, well, doesn't exist. How do I make this logic work?
推荐答案
由于默认情况下 dstore
,您可以编写自己的函数来比较 dstores
的内容,并根据需要使用结果。
As this feature is not included by default in dstore
, you can write your own function for comparing the content of your dstores
and use the result as you wish.
这里是一个通用示例。您需要使用 dstore $ c $的内容填充
value1
和 value1
c>。
Here a generic example. You need to populate value1
and value1
with the content of your dstore
.
简化示例。
不使用indexOf()的版本
Version without using indexOf()
在中循环的方式数据存储
与它的数据结构有关。
The way how you loop in your datastore
is related to its data structure.
注意:这是一个通用示例,因为该问题未提供任何源代码,也不提供示例 dstore
中的数据。
Notes: This is a generic example as the question does not provide any source code, nor an example of data in dstore
.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Builder</title>
<style>
</style>
<script>
window.app = {
value1: [1, 2, 3, 4, 5, 6, 4, 8], // populate with date for valu1 dstore
value2: [1, 2, 6, 4, 8], // populate with date for valu1 dstore
valueNotExists: [],
start: function () {
this.notExists();
},
notExists: function () {
this.valueNotExists = this.value1.filter(function (x) {
return this.value2.indexOf(x) < 0;
}.bind(this));
console.log(this.valueNotExists);
},
};
</script>
</head>
<body onload="window.app.start();">
</body>
</html>
这篇关于如何查找在一个dstore集合中但不在另一个dstore集合中的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!