Javascript 从数组中删除特定数组元素

Javascript 从数组中删除特定数组元素,javascript,arrays,Javascript,Arrays,我需要从数组中删除choosen元素,当在我的代码中单击delete时, 但是到目前为止我还没有达到目标。 我试图比较当前数组值和标记值,如果它们相等, 从数组中删除该值 我想我在过程中遗漏了一些东西 需要钱吗谢谢 这是我的js代码 $(function(){ var tableHead = "<table>" + "<tr>" + "<th class='sort'>Id sort</th>" +

我需要从数组中删除choosen元素,当在我的代码中单击delete时, 但是到目前为止我还没有达到目标。 我试图比较当前数组值和标记值,如果它们相等, 从数组中删除该值 我想我在过程中遗漏了一些东西 需要钱吗谢谢 这是我的js代码

$(function(){
var tableHead =
    "<table>" +
        "<tr>" +
            "<th class='sort'>Id sort</th>" +
            "<th>Name</th>" +
            "<th>Surname</th>" +
            "<th>Birthday</th>" +
            "<th>Filter</th>" +
            "<th class='addList'>+</th>" +
        "</tr>" +
    "</table>";

$('body').html(tableHead);

var name = "<input type='text' class='name' placeholder='First name'>";
var surname = "<input type='text' class='surname' placeholder='Surname'>";
var bDayDate ="<input type='date' class='bDayDate' placeholder='Bday'>";
var addList = $('.addList');
var idNum = 0;
var arrNum= [];
var sortedArr = [];

addList.on("click", function(){
    idNum++;
   var tr = $("<tr></tr>");
    for(var i = 1; i <= 6; i++){
        var td = $('<td></td>');
        tr.addClass(""+ idNum);
        switch (i){
            case 1:
                td.addClass(""+ idNum);
                td.html(idNum);
            break;
            case 2: td.html(name);
            break;
            case 3: td.html(surname);
            break;
            case 4: td.html(bDayDate);
            break;
            case 5: td.html(1);
            break;
            case 6:
                td.html("Delete");
                td.addClass('delete');
            break;
            default:
                return console.log("OooPs!!");
        }
        tr.append(td);
    }

    var value;
    arrNum.push(tr);
    $('table').append(arrNum);

    arrNum.forEach(function(val,i){
        value = val
    });

    $('.delete').on("click", function(){
       $(this).parent().remove();
       var that = $(this).parent();
        for(var k = 0;k <arrNum.length - 1; k++){
            if(that[k] === value[k]){
                arrNum.splice(k,1)
            } else {
                console.log("wrong!!")
            }
        }

    });

    for(var j = arrNum.length; j >= 0; j--){
        sortedArr.push(arrNum[j]);
    }

    $(".sort").on("click", function(){
        $('table').append(sortedArr);
        $('.delete').on("click", function(){
            $(this).parent().remove();

        });
    });
});
$(函数(){
var桌面=
"" +
"" +
“Id排序”+
“姓名”+
“姓”+
“生日”+
“过滤器”+
"+" +
"" +
"";
$('body').html(表格头);
var name=“”;
var姓氏=”;
var bDayDate=“”;
var addList=$('.addList');
var-idNum=0;
var arrNum=[];
var-sortedar=[];
addList.on(“单击”,函数(){
idNum++;
var tr=$(“”);

对于(var i=1;i尝试此更改,请在删除事件中调用此函数

function removeItem(item, arr, sArr)
{
   var that = $(item).parent();
   $(item).parent().remove();

    for(var k = 0;k <arr.length; k++)
    {
       if(arr[k] && that[0] === arr[k][0])
       {
         arr.splice(k,1);
       } else {
         console.log("wrong!!")
       }
    }

    // If you want delete when sort the table
    for(var k = 0;k <sArr.length; k++)
    {
       if(sArr[k] && that[0] === sArr[k][0])
       {
         sArr.splice(k,1);
       } else {
         console.log("wrong!!")
       }
    }
}
你可以用


那么您尝试了什么,得到了什么结果呢?我尝试比较我在$(.'delete')上的数组索引父编号尝试比较数组值和$(.'delete')删除该数组元素的父值可能做错了,我需要这样做,因为当我删除标记时,我还需要删除该数组元素,所以在排序时,删除的元素实际上并不意味着你应该更新你的问题以包含你尝试的内容(不是对您尝试的内容的英文描述,而是您尝试的实际代码)以及结果(错误?)。我更新了代码,希望它能帮助您)奇怪的是,它正在工作,但也返回错误!!在控制台中返回错误!!当数组中的项与要删除的项不同时,我不明白这意味着每次我删除项时,都不是该项?0\u您正在循环数组,并询问当前项是否与要删除的项相等,但如果不相等,则显示console消息。您应该删除else子句
$('.delete').on("click", function()
{
    removeItem(this, arrNum, sortedArr);
});
 arrNum=  $.grep(arrNum, function(e) {

            return e != value ;
        });