gpt4 book ai didi

javascript - 与字典元素 typescript 进行比较

转载 作者:行者123 更新时间:2023-12-03 00:31:10 27 4
gpt4 key购买 nike

我有这样的模型:

class Model {
from: number;
values: { [id: string]: number };
originalValues: { [id: string]: number };
}

然后我创建arr = Model[] = [];

我需要检查值是否与originalValues匹配,这就是我的做法:

 for (let edited of this.arr) {
edited.model.forEach(m => {
if (Object.values(m.originalValues) == Object.values(m.values)) {
// console.log(equal);
} else {
// not equal
}
});

但即使它们相等,我总是得到 not equal 。值和原始值的示例: originalValues: {11c33aaaaaaaaasafsdf33: 23.5}我在这里做错了什么?

最佳答案

const log = args => console.log(args);


const array = [{
values: [1, 2, 3],
otherValues: [1, 2, 3]
}, {
values: [1, 2, 3],
otherValues: [1, 2, 3, 'a', 'b', 'c']
}, {
values: [1, 2, 3],
otherValues: [3, 2, 1]
},{
values: [{ name: 'Jack' }, 'a', 'b', 'c', 1, 2, 3],
otherValues: [1, 2, 3, 'a', 'b', 'c', { name: 'Jack' }]
}];


log('\nOriginal');
array.forEach(o => {
const bool = JSON.stringify(o.values) === JSON.stringify(o.otherValues);
log(bool);
});


log('\nEdit');
array.forEach(o => {
const v1 = Object.values(o.values).sort(), v2 = Object.values(o.otherValues).sort();
const bool = JSON.stringify(v1) === JSON.stringify(v2);
log(bool);
});

关于javascript - 与字典元素 typescript 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53865346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com