繁体   English   中英

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

[英]javascript arrays in array based on input values

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

 <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将这些数据发布到服务器,所以我真正需要的是满足控制器对数据格式的期望,其中每个输入的值将被分组在一起并以逗号分隔。

不用推送字符串,而是推送包含字符串的数组:

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

使用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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM