angular,在执行 lodash 之前删除未使用的数据 _.isEqual
angular, strip unused data before doing a lodash _.isEqual
所以我尝试使用 lodash 的 _.isEqual
方法比较 2 个对象,我有非常简单的函数可以像这样检查
function findMatchingQuery(savedSearch) {
if (_.isEqual(savedSearch.data.document.query, $scope.searchResults.minify())) {
return true;
}
}
数据有点变化,需要先从里面拉出一段数据再做比较
所以这些对象中的每一个都具有这种格式 -
{
"name": "item name",
"showMore": boolean,
"filters": []
}
我想做的是去掉 showMore
节点。我尝试使用 _.remove
添加一些变量,但是这似乎不起作用,因为 remove 正在寻找键和值。
var modifiedSavedSearch = _.remove(savedSearch.data.document.query, { "showMore" });
var modifiedCurrentSearch = _.remove($scope.searchResults.minify(), { "showMore" });
有没有一种简单的方法可以在 运行 _.isEqual
之前剥离对象的那些部分?不必是 lodash。谢谢!
是的,omit 应该可以满足您的需求:
var modifiedSavedSearch = _.omit(savedSearch.data.document.query, { "showMore" });
您可以删除该属性,例如:
delete savedSearch.data.document.query.showMore
您可以使用_.omit
删除它,或者您可以使用_.pick
选择其余的属性
如果你想彻底摆脱它,你可以这样做:
// assuming this is your variable
var myVar = {
"name": "item name",
"showMore": boolean,
"filters": []
};
// delete the unwanted property
delete myVar.showMore;
所以我尝试使用 lodash 的 _.isEqual
方法比较 2 个对象,我有非常简单的函数可以像这样检查
function findMatchingQuery(savedSearch) {
if (_.isEqual(savedSearch.data.document.query, $scope.searchResults.minify())) {
return true;
}
}
数据有点变化,需要先从里面拉出一段数据再做比较
所以这些对象中的每一个都具有这种格式 -
{
"name": "item name",
"showMore": boolean,
"filters": []
}
我想做的是去掉 showMore
节点。我尝试使用 _.remove
添加一些变量,但是这似乎不起作用,因为 remove 正在寻找键和值。
var modifiedSavedSearch = _.remove(savedSearch.data.document.query, { "showMore" });
var modifiedCurrentSearch = _.remove($scope.searchResults.minify(), { "showMore" });
有没有一种简单的方法可以在 运行 _.isEqual
之前剥离对象的那些部分?不必是 lodash。谢谢!
是的,omit 应该可以满足您的需求:
var modifiedSavedSearch = _.omit(savedSearch.data.document.query, { "showMore" });
您可以删除该属性,例如:
delete savedSearch.data.document.query.showMore
您可以使用_.omit
删除它,或者您可以使用_.pick
选择其余的属性
如果你想彻底摆脱它,你可以这样做:
// assuming this is your variable
var myVar = {
"name": "item name",
"showMore": boolean,
"filters": []
};
// delete the unwanted property
delete myVar.showMore;