使用其支持IE8的JavaScript中的值中删除数组中的元素



我想使用其值而不是索引从数组中删除一个项目,而索引将在IE8上使用。任何帮助将不胜感激。谢谢。

这是我的数组:

var myArray = ['one', 'two', 'three'];

结果应该是:

删除操作:

myArray.splice('three');

结果:

myArray =['one', 'two'];

我尝试过,但它在IE8中不起作用。

angular.forEach($scope.leftList, function (leftItems) {
    var arrlen = $scope.rightList.length;
    for (var j = 0; j<arrlen; j++) {
        if (leftItems == $scope.rightList[j]) {
            $scope.rightList = $scope.rightList.slice(0, j).concat($scope.rightList.slice(j+1, arrlen));
        }
    }
});

您可以使用splitjoin方法播放,并且在正确的时机还包括一些正则替换:

var myArray = ['one item', 'two', 'three', 'two', 'two', 'two', 'two', 'fourth item'];
function clearFromArray(item, array) {
	var re1 = new RegExp(item,"g");
	var re2 = new RegExp('(##)+',"g");
	return array.join('##').replace(re1, '').replace(re2, '##').split('##');
};
document.getElementById('result').innerHTML = clearFromArray('two', myArray);
<div id="result"></div>

也在小提琴上。

最新更新