javascript - Javascript - 从匹配html table单元格的数组中删除对象

133 2

将数组中存储的每个对象(存储在localStorage中)显示到table中,然后在每个table行中为特定对象获取自定义日志,然后我尝试从数组中移除对象,得到这个特定的日志值。

以下是我的代码:


let proxyTableArray = document.getElementById("proxy-table").rows;


for (var i = 1; i < proxyTableArray.length; i++) {


 if (proxyTableArray[i].cells[4].innerHTML =="Failed" ||"Banned") {


 let proxyArray = JSON.parse(localStorage.getItem("ProxyCollection"));


 let removedProxy = proxyArray.splice(i, 1);


 localStorage.removeItem("ProxyCollection");


 localStorage.setItem("ProxyCollection", JSON.stringify(proxyArray));


 }


}



我已经尝试了各种方法,例如,将所有proxyTableArray [i],cells 0推送到名为FailedProxies的数组中,然后尝试将它们从proxyArray中筛选出来,但是似乎无济于事。 我也尝试过


var filteredAry = proxyTableArray[i].cells.filter(function(e) { return e !== 'Failed' });



以下是在localStorage存储数组中对象的外观:


[


{Ip:"123.345.678.91", Port:"8080"},


{Ip:"173.192.21.89", Port:"8123"},


etc...


]



时间: 原作者:

150 1

你需要将比较器添加到条件的第二个条件中:


if (proxyTableArray[i].cells[4].innerHTML =="Failed" || proxyTableArray[i].cells[4].innerHTML =="Banned") {


 // that should work


}




条件语句中的每个条件都应视为独立操作。

将html分配给可重用变量,这一点更简洁:


const cellText = proxyTableArray[i].cells[4].innerHTML


if (cellText =="Failed" || cellText =="Banned") {


 // that should work


}



原作者:
...