我做了一些研究,但无法找到与我的用例完全匹配的任何内容。
我需要快速返回一个没有原始元素的新数组。换句话说,我需要以某种方式组合splice / indexOf /
等,但下面的内容是失败的:它只返回一个元素" TEST"我正在删除。
下面的函数需要返回一个新数组,除了删除的项目之外的所有内容。
function newArrayWithout(array, elem) {
return array.splice(array.indexOf(elem), 1);
}
var array = ["abc", "def", "TEST", "ghi"];
var newarray = newArrayWithout(array, "TEST");
console.log('New array: ' + newarray);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:1)
检查是否解决了您的问题:
for(var i = 0; i < localStorage.length; i++)
{
console.log(localStorage.key(i));
}
答案 1 :(得分:0)
使用.splice()
和.indexOf()
,您可以执行已有的操作。但是你需要返回的是数组,因为.splice()
的返回值是被删除的元素。不是剩下的元素。如果要保留原始数组,则需要先复制数组。例如
var array = ["abc", "def", "TEST", "ghi"];
// Copy the values of array first
var newArray = array.slice();
// Splice using indexOf the element to be removed
newArray.splice(newArray.indexOf("TEST"), 1);
console.log('original :' + array);
console.log('new :' + newArray);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>