我有一个包含float属性的对象数组,由于某种原因,其中许多值会返回并向浏览器(html和控制台)呈现与实际计算的文本不同的文本。
我看不到数字中的任何模式,但是当第一次迭代结束时停止以下循环时,单个输出 是正确的。
任何人都可以告知引起此行为的原因以及如何解决此问题吗?
调试日志:
// get nearby brand colours
for(let i=0, l=sorted.length; i<l; i++){
sorted[i]['similar'] = floss.similar( sorted[i].hex, this.elements.colour_distance.value, this.getSelectedColourDistanceMethod() );
console.log('sorted[i][\'similar\']', sorted[i]['similar']);
console.log('JSON.stringify(sorted[i][\'similar\'])', JSON.stringify(sorted[i]['similar']));
}
return;
一个错误值的示例,但该属性在调用该属性时使用:
正确的值,当与JSON.Stringify
显示时
答案 0 :(得分:0)
毫无疑问,这是在此之前而不是之后发生的通过引用问题。
通过迭代对象属性并分配给新属性来解决,而不是将结果设置为对象本身并进行扩展。