我是js的新手...现在我遇到crossfilter的问题。

说我使用以下方法创建一个crossfilter实例:

var instance = crossfilter(data);


我可以使用以下方法获取JavaScript数组:

var dataArray = instance.top(Infinity);


所以我的问题是:我到达这里的dataArray是可变的还是不可变的?由于我尝试修改其中一个元素并以失败告终。

最佳答案

JavaScript数组都是“可变的”,除非您要使用类似Object.freeze()之类的东西,或者要将propertiesObject传递给Object.create()并使其不可写,或者达到某种效果。

我不熟悉crossfilter,但是如果您提供的代码是正确的,并且dataArray实际上是Array对象,则应该使用正确的JavaScript对其进行更改。 。

例如,使用Array索引访问器:

dataArray[1] = 'some new object';


因此,回答您的问题“我到这里的dataArray是可变的还是不可变的?”:它是可变的;只要确保您尝试正确地对其进行变异即可。

10-08 12:07