查找以某些文本

时间:2016-05-14 20:29:49

标签: jquery

我有一些动态生成的表单字段,我使用了jquery数组序列化,我在发布后得到了这些数据

results_English  ::-value  10
results_Science  ::-value  20
results_Geography  ::-value  30
results_History  ::-value  40
results_Drawing  ::-value  50
results_Architecture  ::-value  60

我已使用此代码

var dataArray = $('#er').serializeArray();
       len = dataArray.length,
       dataObj = {};

    for (i=0; i<len; i++) {
    console.log(dataArray[i].name+"  ::-value  "+dataArray[i].value);
    var arr = dataArray[i].name;
    };

我正在尝试获取以results_开头的字段,_之后的值成为新数组的新键,但值仍然存在。

要开始,我正在尝试grep

var r = jQuery.grep(arr, function(a){
    return a == 'results_'
    }).length;

但它返回0

如何在results_中找到值startin并使用_之后的部分创建一个新数组?

1 个答案:

答案 0 :(得分:0)

您说“以”开头的字段“,但您正在检查完全匹配。你也有一个对象数组,所以a是一个对象而不是一个字符串。您应该检查对象的name属性。

var r = jQuery.grep(arr, function(a) {
    return a.name.indexOf('results_') === 0;
}).length;