在javascript中是否从数组中删除元素?
在javascript中是否从数组中删除元素?,javascript,jquery,Javascript,Jquery,var arr=[“猫”、“狗”、“熊”、“猫”、“鸟”、“狗”、“狗”、“猫”]; arr.remove(“猫”、“狗”); 控制台日志(arr)在默认的数组对象上没有remove()方法。 您必须获取元素的索引,您要删除这些元素,然后使用 const arr=[“猫”、“狗”、“熊”、“猫”、“鸟”、“狗”、“狗”、“猫”]; const toRemove=[“猫”、“狗”]; 控制台日志('before',arr); toRemove.forEach(项目=>{ const itemPo
var arr=[“猫”、“狗”、“熊”、“猫”、“鸟”、“狗”、“狗”、“猫”];
arr.remove(“猫”、“狗”);
控制台日志(arr)
在默认的数组对象上没有remove()
方法。
您必须获取元素的索引,您要删除这些元素,然后使用
const arr=[“猫”、“狗”、“熊”、“猫”、“鸟”、“狗”、“狗”、“猫”];
const toRemove=[“猫”、“狗”];
控制台日志('before',arr);
toRemove.forEach(项目=>{
const itemPosition=arr.indexOf(项目);
阵列拼接(项目位置,1);
});
控制台日志('after',arr)代码>使用过滤器功能
var arr=[“猫”、“狗”、“熊”、“猫”、“鸟”、“狗”、“狗”、“猫”];
arr=arr.filter(功能(项目、位置){
返回arr.indexOf(项目)=位置;
});
控制台日志(arr)代码>
/**
*获取基元值数组并返回具有唯一值的列表
*
*@param{(字符串[]|数字[]|布尔[])}arr
*@param{boolean}[preserve=false]
*@返回
*/
函数uniqueArray(arr,保留){
如果(保留===void 0){
保存=真实;
}
//原始数组的句柄保存
var newArr;
如果(保留===true){
newArr=arr.slice(0);
}否则{
newArr=arr;
}
//循环遍历数组,从最低索引到最高索引
对于(var a=0;a log(uniqueArray(arr))
那么你想删除重复项,还是只删除一次cat和dog值,然后留下其他重复项?我想删除重复项结果中dog重复了两次?啊,没有看到有多个元素。如果你可以选择的话,你应该先让数组唯一化。这就是这个地方的用途,不是吗?