我尝试循环遍历一个数组对象中的数组对象,对其中的数据进行去重和排序。函数
onlyUnique
返回一个数组中的唯一值。但问题是,它没有按照预期工作。arr_lists = [arr_1, arr_2, arr_3, arr_4, arr_5, ...]
for (var list_obj of arr_lists) {
list_obj = list_obj.join().split(',').filter(onlyUnique);
list_obj.sort();
Logger.log(list_obj);
}
日志结果显示为true(即它们是我要找的内容),但原始数组未更改,尽管我认为它应该已更新。
我尝试将筛选后的数组分配给一个新数组...不行。 我知道我可以添加一千行代码来实现结果,但那似乎很愚蠢。
我怀疑这是显而易见的问题。
list_obj = ...
行重新分配list_obj
为一个新数组,因此它不再是数组中一个的引用。因此对该数组进行排序不会对原始数组产生任何影响。 - Robin Zigmondsplit(',')
创建一个新数组,filter
再次创建一个新数组。你的代码没有对原始数组排序。不相关的问题,但是你为什么要做.join().split(',')
? - trincot.join().split(',')
代码。当时我从未检查过逻辑。 - J. Erik Hartel