Javascript 具有不带对象的数组的新内存存储

Javascript 具有不带对象的数组的新内存存储,javascript,dojo,Javascript,Dojo,我有一个数组,里面没有对象,我正在尝试向我的存储添加数据。我有这个: options: [0:value,1:value] 当我知道我需要这个: options: [{0:value,1:value}] 是否有任何方法可以使用dojo中的某个实用程序或JS来修改它?我无权更改web服务 这甚至不是您要求的有效JSON或JavaScript语法,您可以定义对象,例如: {name:value} 或者使用数组语法: [价值1、价值2、价值3] 在评论中有点困惑之后,我想您希望使用字符串数组作为d

我有一个数组,里面没有对象,我正在尝试向我的存储添加数据。我有这个:

options: [0:value,1:value]
当我知道我需要这个:

options: [{0:value,1:value}]
是否有任何方法可以使用dojo中的某个实用程序或JS来修改它?我无权更改web服务


这甚至不是您要求的有效JSON或JavaScript语法,您可以定义对象,例如:

{name:value} 或者使用数组语法:

[价值1、价值2、价值3] 在评论中有点困惑之后,我想您希望使用字符串数组作为dijit/form/FilteringSelect的下拉项。 好的,首先将数组转换为对象数组确实是可能的,因为这通常是小部件工作所必需的

转换数组的最佳模块是dojo/_base/array:map函数。我们可以在您的案例中使用它来完成:

var output=arrUtils.mapinput,functionitem,idx{ 返回{ 标签:项目, id:idx }; }; 这将转换如下所示的数组:

['value1','value2'] 进入:

[{label'value1',id:0},{label'value2',id:1}] 然后可以在dijit/form/FilteringSelect中使用,例如:

新过滤器选择{ 存储:新内存{ 数据:产出 }, labelAttr:'label', searchAttr:“标签” },mySelect; 正如您在下面的小提琴中所看到的,它应该可以很好地工作:


如果你需要一家商店,那么回答是肯定的。dijit/form/FilteringSelect没有名为options的选项,据我所知,该选项仅在dijit/form/Select上可用。

您是否将它们作为选项:['0:value','1:value'].0:value,1:value但在一个字符串中,每件事都是正确的?索引没有用引号括起来。只有值。那么您想要的对象也不起作用了,您需要为所有项使用单独的对象。您的输出解决方案现在返回所有内容,例如{0:unwantedDiscarded\s,1:part\u max\u used},这就是我需要的FilterSelect。测试将很快标记为已回答