我正在使用 Lodash 比較從 Postman 回傳的兩個物件,但我想忽略動態值(page_view和deletion.update_time)。我怎樣才能做到這一點?我已經嘗試將屬性名稱傳遞給omit但它不起作用......我該如何解決這個問題?謝謝你。
var obj1 = {
name: "James",
age: 17,
page_view: "2",
creation: "13-03-2016",
deletion: {
"article_id": 4469568,
"update_time": 1226,
}
}
var obj2 = {
name: "James",
age: 17,
page_view: "62",
creation: "13-03-2016",
deletion: {
"article_id": 4469568,
"update_time": 12265,
}
}
var result = _.isEqual(
_.omit(obj1, ['page_view', 'update_time']),
_.omit(obj2, ['page_view', 'update_time'])
);
if (!result) {
pm.expect.fail("Pro and Sta are different")
}
uj5u.com熱心網友回復:
您需要在子物件上指定:
var obj1={name:"James",age:17,page_view:"2",creation:"13-03-2016",deletion:{"article_id":4469568,"update_time":1226,}}
var obj2={name:"James",age:17,page_view:"62",creation:"13-03-2016",deletion:{"article_id":4469568,"update_time":12265,}}
const stripDynamicValues = o => {
let toCompare = _.omit(_.cloneDeep(o), "page_view");
// Here, you need to work explicitly on the sub-object
toCompare.deletion = _.omit(toCompare.deletion, "update_time");
return toCompare;
};
var result = _.isEqual(stripDynamicValues(obj1), stripDynamicValues(obj2));
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/490356.html
標籤:javascript 目的 邮差 罗达什
上一篇:C 中的自定義解構式x默認建構式
