Jquery 查找以某些文本开头的数组值

Jquery 查找以某些文本开头的数组值,jquery,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 dataArr

我有一些动态生成的表单字段,我使用了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;
    };
但是它返回
0

如何找到从结果开始的值,并使用_之后的部分创建新数组?

您说的是“以开头的字段”,但您正在检查精确匹配。还有一个对象数组,因此
a
是一个对象而不是字符串。您应该检查对象的
名称
属性

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

非常清楚,没有一个键是
==
'results'
。。。尝试使用
indexOf()。方法名称是
indexOf
而不是
indexOf
var r = jQuery.grep(arr, function(a) {
    return a.name.indexOf('results_') === 0;
}).length;