基于输入值的数组中的javascript数组

时间:2015-10-19 22:20:13

标签: javascript arrays json

以下代码根据指定输入的值生成一个数组:

 <input value="jan, feb, mar">
 <input value="apr, may, jun">
 <input value="jul, aug, mar">

  ####

  anArray = []
  $("input").each ->
      tv = $(this).val()
      anArray.push(tv)
  console.log anArray

  >>> ["jan, feb, mar", "apr, may, jun", "jul, aug, sep"]

如何将其作为包含在另一个数组中的一组数组?

[ ["jan, feb, mar"], ["apr, may, jun"], ["jul, aug, sep"] ]

我也有点把它作为一组对象来管理,但我根本不需要一把钥匙。也许我可以删除key的此对象,只留下value

    content = $("input")
    object = $.map content, (x) ->
        'key': $(x).val()
    console.log JSON.stringify(object)

    >>> [{"key":"jan, feb, mar"},{"key":"apr, may, jun"},{"key":"jul, aug, mar"}]

最后我将通过JSON将这些数据发布到服务器,所以我真正需要的是满足控制器对数据格式的期望,其中每个输入的值将被组合在一起并且与昏迷分开。

2 个答案:

答案 0 :(得分:1)

不是推动字符串,而是使用字符串推送数组:

anArray = []
$("input").each ->
    tv = $(this).val()
    anArray.push([tv])
console.log anArray

答案 1 :(得分:-1)

使用split函数:

anArray = []
  $("input").each(function(tv){
      tv = $(this).val()
      anArray.push(tv.split(","))
  })
      
  document.write(JSON.stringify(anArray));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input value="jan, feb, mar">
<input value="apr, may, jun">
<input value="jul, aug, mar">
<br>