数组具有格式为“item1,item2”的值。我希望它是 ["item1","item2"]。我该怎么办?

Posted

技术标签:

【中文标题】数组具有格式为“item1,item2”的值。我希望它是 ["item1","item2"]。我该怎么办?【英文标题】:An array has values in the formar "item1,item2". I want it to be ["item1","item2"]. What should i do? 【发布时间】:2012-08-05 11:19:10 【问题描述】:
 console.log(jQuery("#tickets-expanded input:checkbox[name='ids[]']:checked"));
        jQuery("#tickets-expanded input:checkbox[name='ids[]']:checked").each(function() 
           selected.push(jQuery(this).val());
        );
        alert(selected);

        jQuery("#ids").val(selected);

这是我的代码。所选数组包含格式为“2,1”的元素。我希望它是 ["2","1"]。我该怎么办?

【问题讨论】:

你知道你只需要写一次长格式的jQuery吗?通过将代码包装在(function($) .... )(jQuery); 中,无论noConflict 是否被使用,您都可以使用$ 【参考方案1】:

考虑代码:

var a = "item1,item2,item3";

a = a.split(",");

console.log( a );

输出将是:

["item1","item2","item3"]

现在您可以在最后将这项技术应用于您的代码。你得到的字符串可以是split,你会得到数组。

编辑:您有多个id 元素?所以你也可以split其中的数据。每个都包含一个值

【讨论】:

你是对的。原来我的#ids 是字符串类型。因此,当我尝试将数组推入其中时,它会自动转换为字符串。我怎样才能解决这个问题?我想将选定的数组存储在我的隐藏字段中,即 #ids 作为数组而不是字符串。 @ArvinthShriram 您不能将数组分配给单个文本输入。你可以做的是让它保持字符串,每当你访问它时首先将它转换为数组,然后使用它。 如果我把隐藏字段的类型改为数组怎么办?我想我可以通过将名称指定为 ids[] 来做到这一点。 您有多个id 元素?因此,您还可以在它们之间拆分数据。每个都包含一个值【参考方案2】:

这就是它的toString() 返回的内容,如果您想要不同的格式手动构造它:

str = "[\"" + selected.join("\",\"")​​​​​​​​​​​ + "\"]"​​​​​​;

【讨论】:

这不起作用。我为selected[0] 得到的输出不是item1,而是[【参考方案3】:
selected = '[' + selected + ']';

【讨论】:

这不起作用。我为selected[0] 得到的输出不是item1 而是[ 你把它放在 jQuery("#ids").val(selected);是吗? 请在我对 Muhammad Ahmad 的评论中检查我上面的查询。【参考方案4】:
'5,6,7'.split(',')

http://www.w3schools.com/jsref/jsref_split.asp

【讨论】:

【参考方案5】:

试试这个得到一个选中复选框的数组

var values = $("#tickets-expanded input:checkbox[name='ids[]']:checked").map(function () 
  return this.value;
).get();

【讨论】:

请在我对 Muhammad Ahmad 的评论中检查我上面的查询。

以上是关于数组具有格式为“item1,item2”的值。我希望它是 ["item1","item2"]。我该怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Spark 获取每个(item1,item2,score)的前 N ​​个最高分结果

数组散列 Ruby

如何创建具有正确类型的反应组件映射[重复]

java中怎么创建一个数组

PHP 格式化列表项

js如何往数组Array中添加元素?