jQuery .map到数组

时间:2016-09-20 04:13:12

标签: jquery arrays

我不知道如何将.map映射到数组中。我希望获得除2之外的所有子项值,然后将其放入数组格式中。

以下是我尝试使用的代码:

$("#schoolSupplies").submit(function() {
    var test = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
        return $(this).val();
    })
    .get()
  .join( "\", \"" );

    console.log(test);
});

这是输出:Billy", "John

我一直在研究这个问题大约一个小时,我不知道怎么做。

2 个答案:

答案 0 :(得分:9)

.get()返回一个数组 - 所以只需取出.join()来电;否则你会有一个字符串(因为这是.join()返回的内容)。



$("#schoolSupplies").submit(function() {
    var arrayOfValues = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
        return $(this).val();
    })
    .get()
  //.join( "\", \"" )
    ;

    console.log('Array.isArray(arrayOfValues): ', Array.isArray(arrayOfValues)?'yes':'no', ' contents of arrayOfValues: ', arrayOfValues);
    return false; //for demonstration purposes, don't submit form normally
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="schoolSupplies">
  Supply Name: <input id="name" type="text" value="Tables" /><br />
  
  Student Name: <input id="studentName" type="text" value="Bobby"/><br />
  # of Supplies: <input id="numOfSupplies" type="number" value="3" /><br />
  <input type="submit" id="submitBtn" />
  </form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试以下

$("#schoolSupplies").submit(function() {
    var test = $(":input").not("#numOfSupplies, #submitBtn").map(function() {
        return $(this).val();
    })
    .get()
  .join( "\", \"" );
    test = '["'+test+'"]';//note this is a string not a array
    console.log(test);
});