假设我有两个dstore集合:value1和value2。
我想找出value1中的项目,但不是value2中的项目。所以像这样:
var filterCollection = value1.filter(function(item) {
return value2.notExists(item);
});
但是“notExists”功能,嗯,不存在。我如何使这个逻辑工作?
答案 0 :(得分:0)
由于dstore
默认不包含此功能,您可以编写自己的功能来比较dstores
的内容,并根据需要使用结果。
这是一个通用的例子。您需要使用value1
的内容填充value1
和dstore
。
简化示例。
http://jsbin.com/fozeqamide/edit?html,console,output
不使用indexOf()
的版本http://jsbin.com/nihelejodo/edit?html,console,output
您在datastore
中循环的方式与其数据结构有关。
注意:这是一个通用示例,因为问题不提供任何源代码,也不提供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>