我在使用这个JS代码时遇到了一些问题。
代码应该生成一个随机电压数组(在伏特数组中),然后创建一个新数组(sortedVolts数组),其中伏特按从最低到最高的顺序排序。
问题是我的代码不仅要对sortedVolts数组进行排序,还要对volts数组进行排序,该数组应保持未排序。为什么会这样?
var volts = [];
var sortedVolts;
for (var count = 0; count < 3; count++) {
volts.push(Math.floor(Math.random() * 100));
}
sortedVolts = volts;
sortedVolts.sort();
console.log('UNSORTED', volts);
console.log('SORTED', sortedVolts);
答案 0 :(得分:1)
您正在为// ERROR : Nil cannot be assigned to type 'Test'
变量分配volts
。您应该使用sortedVolts
复制数组。在this question回答。
答案 1 :(得分:1)
The database returned no natively generated identity value.
不会创建数组的副本,它会创建另一个引用相同数组的变量。
要使其正常工作,您需要至少制作一份sortedVolts = volts
的浅表副本,这可以通过volts
sortedVolts = [ ...volts ]
&#13;
答案 2 :(得分:0)
由于JavaScript使用分享评估策略,因此发生了这种情况。 两个变量都指向内存中的相同地址。 创建伏特数组的副本,然后使用Array.sort
对其进行排序