【发布时间】:2017-09-10 09:57:15
【问题描述】:
我有以下数组
var userIdArray=["1", "3", "6", "39", "62", "139"];
我想使用 value 删除数组值
我试过以下方法
function deleteMember(id) {
alert(id+"="+userIdArray.indexOf(id));
userIdArray.splice(userIdArray.indexOf(id),1);
}
但它总是删除最后一个值。
还注意到 userIdArray.indexOf(id) 总是返回 -1 但如果传递像 userIdArray.indexOf("6") 这样的值,那么它将删除特定位置
谁能帮助我如何删除特定值?
【问题讨论】:
-
你的功能工作正常。它有什么问题?
-
如果 id=6 我通过了,那么它将删除最后一个值而不是那个值
-
您需要将字符串作为值,而不仅仅是数字,因为 indexOf 会查找相同的类型和值(严格)。
-
@NinaScholz.ya kyon 发布了答案。非常感谢
-
也许你会考虑一下数据并保持相同的类型,包括数组和搜索索引。不建议进行类型转换,因为您会忽略概述。因此,我建议使用相同的类型进行搜索,而无需转换为另一种类型或使用弱比较。
标签: javascript jquery arrays data-manipulation