[英]Javascript - how do i remove the record from this array?
我如何从该阵列中删除Bob并刷新阵列键,以便在删除Bob后Charlie键变为0而不是1?
//Insert: OK
var cars = [];
cars[cars.length] ="Bob";
cars[cars.length] ="Charlie";
cars[cars.length] ="Laura";
console.log( cars );
//Update: OK
function Update(input, upgrade) {
for(var key in cars) {
if(cars[key]===input) {
cars[key] = upgrade;
}
}
}
Update("Bob", "Bob-sleeping");
console.log( cars );
// Now removing Bob-sleeping from the array which should show Charlie and Laura
使用splice
:
cars.splice(0, 1);
0
是要删除条目的索引, 1
是要删除多少条目。
"use strict"; var cars = []; cars[cars.length] ="Bob"; cars[cars.length] ="Charlie"; cars[cars.length] ="Laura"; display("Before: " + cars.join(", ")); cars.splice(0, 1); display("After: " + cars.join(", ")); function display(msg) { var p = document.createElement("p"); p.innerHTML = String(msg); document.body.appendChild(p); }
如果需要找出索引,即使在模糊的现代浏览器上,也可以使用indexOf
(可以在真正的旧浏览器上进行填充)。 因此,如果您从"Bob-sleeping"
,那么:
var index = cars.indexOf("Bob-sleeping");
if (index !== -1) {
cars.splice(index, 1);
}
"use strict"; var cars = []; cars[cars.length] ="Bob"; cars[cars.length] ="Charlie"; cars[cars.length] ="Laura"; display("Before: " + cars.join(", ")); var index = cars.indexOf("Bob"); // Or "Bob-sleeping", if you've `Update`d if (index !== -1) { cars.splice(index, 1); } display("After: " + cars.join(", ")); function display(msg) { var p = document.createElement("p"); p.innerHTML = String(msg); document.body.appendChild(p); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.