javascript - 检查它 2 个对象具有相同的属性值
问题描述
我有 2 个对象:
1. tempArr = { bookRetail: 14.99, hierarchyDescription: "GUYS DENIM PANTS [ 0151 ]", isSelected: true, isAvailableInPivot: "Y", style: "VICE NWH NAVY WHITE DC [ M450MBON ]"}
2. itemArr = { bookRetail: 14.99, hierarchyDescription: "GUYS DENIM PANTS [ 0151 ]", isSelected: false, isAvailableInPivot: "Y", style: "VICE NWH NAVY WHITE DC [ M450MBON ]"}
我想比较这两个对象而不考虑isSelected属性值,如果两个对象相同(isSelected 元素值除外),我想将itemArr 的 isSelected更新为 true。
if (JSON.stringify(tempArr) === JSON.stringify(itemArr)) {
itemArr.isSelected = true;
}
目前上面的代码比较了两个数组,包括 isSelected元素,比较时如何排除它。
解决方案
如果像@Yevgen Gorbunkov 正确指出的那样比较JSON字符串对您有用,那么您可以使用解构并摆脱isSelected
这种方式:
const withoutSelected = ({ isSelected, ...other }) => JSON.stringify(other);
if (withoutSelected(tempArr) === withoutSelected(itemArr)) {
itemArr.isSelected = true;
}
推荐阅读
- swift - Swift 从 API 获取图像
- ansible - 无法比较从 ansble_devices 事实返回的嵌套字典中键的值
- php - 如何从数据库 Laravel 中存储和检索关联数组
- python - datetime.strptime() 操作接收 Tensorflow 张量而不是字符串
- r - R cv.glmnet 错误:“需要至少两个非 NA 值进行插值”
- next.js - 如何构建 next.js 项目并将其手动部署到 Netlify?
- python - “AttributeError:‘int’对象没有属性‘split’”和“File”
", line 1
[/' ^ SyntaxError: invalid syntax" - snowflake-cloud-data-platform - 用于存储双时态列的变体数据类型
- sql - 对时间间隔内的数据求和 Quicksight
- git - git renormalizing 找不到所有需要它的文件