我的名字是
755_KK_0_KK_0tab1_checkbox 755_ZZ_0_ZZ_0tab1_checkbox 755_KK_0_KK_0tab2_checkbox 755_ZZ_0_ZZ_0tab2_checkbox
我正在检查字符串中是否包含 tab1 ,或者不是这样
var vendoritemsdata = [
{"name": "755_KK_0_KK_0tab1_checkbox"},
{"name": "755_ZZ_0_ZZ_0tab1_checkbox"},
{"name": "755_KK_0_KK_0tab2_checkbox"},
{"name": "755_ZZ_0_ZZ_0tab2_checkbox"}
]
var value = 1;
var temp_arry = [];
for (var i = 0; i < vendoritemsdata.length; i++) {
var itemname = vendoritemsdata.indexOf("tab" + value);
if (itemname === -1) {
var namesss = vendoritemsdata[i].name;
temp_arry.push(namesss);
}
}
alert(temp_arry);
但是,尽管检查了 tab1 或 tab2 ---
为什么它将所有元素推向数组?
答案 0 :(得分:1)
您需要根据当前项目的名称(在迭代中)进行测试,以便
for (var i = 0; i < vendoritemsdata.length; i++) {
var itemname = vendoritemsdata[i].name.indexOf("tab" + value);
if (itemname === -1) {
var namesss = vendoritemsdata[i].name;
temp_arry.push(namesss);
}
}
演示:Fiddle
答案 1 :(得分:0)
您需要使用像
这样的元素名称var itemname = vendoritemsdata[i].name.indexOf("tab" + value);
代码,
for (var i = 0; i < vendoritemsdata.length; i++) {
var itemname = vendoritemsdata[i].name.indexOf("tab" + value);
// here you need name for ----^---^--- each element and check indexOf
if (itemname === -1) {
var namesss = vendoritemsdata[i].name;
temp_arry.push(namesss);
}
}
var vendoritemsdata = [{
"name": "755_KK_0_KK_0tab1_checkbox"
}, {
"name": "755_ZZ_0_ZZ_0tab1_checkbox"
}, {
"name": "755_KK_0_KK_0tab2_checkbox"
}, {
"name": "755_ZZ_0_ZZ_0tab2_checkbox"
}]
var value = 1;
var temp_arry = [];
for (var i = 0; i < vendoritemsdata.length; i++) {
var itemname = vendoritemsdata[i].name.indexOf("tab" + value);
if (itemname === -1) {
var namesss = vendoritemsdata[i].name;
temp_arry.push(namesss);
}
}
alert(temp_arry);
&#13;
答案 2 :(得分:0)
你没有检查名字试试这个:
var itemname = vendoritemsdata[i].name.indexOf("tab"+value);
像这样:
for(var i=0;i<vendoritemsdata.length;i++) {
var itemname = vendoritemsdata[i].name.indexOf("tab"+value);
if(itemname === -1) {
var namesss = vendoritemsdata[i].name;
temp_arry.push(namesss);
}
}
答案 3 :(得分:0)
由于您在问题上添加了jQuery标记,因此您也可以考虑以下解决方案:
filteredArray = jQuery.grep(inputArray, function (element) {
return a.indexOf(searchTerm) > -1 //this assumes elements are strings (not objects)
});