Object.values没有创建“适当的”数组

时间:2019-03-10 09:15:25

标签: javascript

我正在使用Object.values()创建一个数组。当将其与硬编码等效项进行比较时,它将返回false。

var newArr = Object.values({1: 50, 2: 50, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0});
console.log(newArr); // [50, 50, 0, 0, 0, 0, 0];
var compareArr = [50, 50, 0, 0, 0, 0, 0];
console.log(compareArr); // [50, 50, 0, 0, 0, 0, 0];
console.log(newArr === compareArr); // false

我在这里缺少什么吗?还是应该不返回true?

2 个答案:

答案 0 :(得分:1)

JavaScript比较非原始类型(在df =df.repartition(100) for partition in df.toLocalIterator(): for row in partition: send(row) ==上的引用)。数组不是原始类型。意味着如果它们不是同一实例,则比较将返回false。

答案 1 :(得分:1)

您可以使用JSON.stringify()进行比较

var newArr = Object.values({
  1: 50,
  2: 50,
  3: 0,
  4: 0,
  5: 0,
  6: 0,
  7: 0
});
var compareArr = [50, 50, 0, 0, 0, 0, 0];
console.log(JSON.stringify(compareArr) == JSON.stringify(newArr)); // true