У меня есть следующий код:
var isvalid = [];
function namevalidation(){
var checkname = $("#first-name").val();
var namevalid = new RegExp("(^[a-zA-Z'-]+$)");
var name_error = $("error");
if(checkname.match(namevalid)){
$(name_error).css("display","block");
if($.inArray('name', isvalid) == -1){
isvalid.push('name');
}
}else{
$(name_error).css("display","none");
if($.inArray('name', isvalid) > -1){
isvalid.splice("name",1);
}
}
}
Я не знаю положение строки внутри массива, так как у меня было бы много подобных функций для других входов. На основе вышеприведенного кода, как удалить строку "имя" из массива "isvalid"?
.splice() принимает индекс элемента в качестве первого аргумента, поэтому попробуйте
var index = $.inArray('name', isvalid);
if (index > -1) {
isvalid.splice(index, 1);
}