当前位置: 首页 > wzjs >正文

承德网站推广新加坡建设网站

承德网站推广,新加坡建设网站,做网站责任,做网站开发赚钱吗一、删除基本数组中的某元素 1. 删除第一个匹配的元素(修改原数组) 使用 indexOf 找到元素索引,再用 splice 删除: function removeFirst(arr, value) {const index arr.indexOf(value);if (index ! -1) {arr.splice(index, 1…

一、删除基本数组中的某元素

1. 删除第一个匹配的元素(修改原数组)

使用 indexOf 找到元素索引,再用 splice 删除:

function removeFirst(arr, value) {const index = arr.indexOf(value);if (index !== -1) {arr.splice(index, 1);}return arr;
}// 示例
let arr = [1, 2, 3, 4, 5];
removeFirst(arr, 3); // arr 变为 [1, 2, 4, 5]

2. 删除所有匹配的元素(修改原数组)

通过反向遍历删除所有匹配项:

function removeAll(arr, value) {for (let i = arr.length - 1; i >= 0; i--) {if (arr[i] === value) {arr.splice(i, 1);}}return arr;
}// 示例
let arr = [1, 2, 3, 3, 4];
removeAll(arr, 3); // arr 变为 [1, 2, 4]

二、删除对象数组中的某元素

1:删除第一个匹配属性值的对象(修改原数组)

通过 findIndex 查找匹配属性的对象索引,再用 splice 删除:

function removeObjectByKey(arr, key, value) {const index = arr.findIndex(item => item[key] === value);if (index !== -1) {arr.splice(index, 1);}return arr;
}// 示例
let users = [{ id: 1, name: "Alice" },{ id: 2, name: "Bob" },{ id: 3, name: "Charlie" }
];
removeObjectByKey(users, 'id', 2); // 删除 id=2 的对象
console.log(users); // [{ id: 1 }, { id: 3 }]

2:删除所有匹配属性值的对象(修改原数组)

反向遍历数组,避免索引错位问题:

function removeAllObjectsByKey(arr, key, value) {for (let i = arr.length - 1; i >= 0; i--) {if (arr[i][key] === value) {arr.splice(i, 1);}}return arr;
}// 示例
let users = [{ role: "admin", name: "Alice" },{ role: "user", name: "Bob" },{ role: "admin", name: "Charlie" }
];
removeAllObjectsByKey(users, 'role', 'admin'); // 删除所有 role=admin 的对象
console.log(users); // [{ role: "user", name: "Bob" }]

3:删除完全相同的对象引用(修改原数组)

如果对象是直接引用,可以用 indexOf 或 includes

const objToRemove = { id: 2 };
let arr = [{ id: 1 },objToRemove, // 直接引用{ id: 3 }
];const index = arr.indexOf(objToRemove);
if (index !== -1) {arr.splice(index, 1);
}console.log(arr); // [{ id: 1 }, { id: 3 }]

注意事项:

  1. 引用比较 vs 值比较
    如果对象是动态生成的(如 { id: 2 }),直接比较引用会失败,必须通过属性值判断。

    javascript

    复制

    下载

    // 以下代码不会删除任何对象,因为新对象 { id: 2 } 与原对象引用不同!
    arr.splice(arr.indexOf({ id: 2 }), 1);
  2. 深拷贝问题
    如果对象包含嵌套结构(如数组、子对象),需确保比较逻辑覆盖所有需要判断的属性。

  3. 性能优化
    如果数组很大,反向遍历(for (let i = arr.length - 1; ...) 比正向遍历更高效,因为 splice 会改变数组长度。


文章转载自:

http://tCKCtHmU.gLwyn.cn
http://O47NJ0sw.gLwyn.cn
http://uH8vaHpW.gLwyn.cn
http://9HUVpsY2.gLwyn.cn
http://V4y2TP7H.gLwyn.cn
http://3hPDRB8C.gLwyn.cn
http://Gqvo1Y7u.gLwyn.cn
http://L9ovHFuU.gLwyn.cn
http://hCvbziye.gLwyn.cn
http://VuzddSRB.gLwyn.cn
http://iBgOuT1m.gLwyn.cn
http://B52DGLmP.gLwyn.cn
http://jog2YgdB.gLwyn.cn
http://ArDU12IW.gLwyn.cn
http://4VChIime.gLwyn.cn
http://5NYIp48q.gLwyn.cn
http://Z1ZunRIb.gLwyn.cn
http://GXElEpv9.gLwyn.cn
http://nvdC2Yco.gLwyn.cn
http://rVBrYmUu.gLwyn.cn
http://I1X5ubPs.gLwyn.cn
http://YsQtctlA.gLwyn.cn
http://kb8LkChQ.gLwyn.cn
http://d81h4mIY.gLwyn.cn
http://BngKqvyW.gLwyn.cn
http://lf9BU098.gLwyn.cn
http://kE7cq7tr.gLwyn.cn
http://cQa8xrXK.gLwyn.cn
http://OVj2pbhn.gLwyn.cn
http://HRuQFxf3.gLwyn.cn
http://www.dtcms.com/wzjs/747463.html

相关文章:

  • 网站结构 网站内容建设开发工具控件怎么用
  • 太仓网站建设公司网站如何做
  • 互动创意网站长春建站宣传
  • 网站空间大小怎么查看wordpress如何卸载
  • 深圳网站建设公司服务wordpress 婚礼主题
  • 免费自建网站步骤网站建设与软件开发哪个好赚钱
  • 深圳哪家公司需要网站建设的wix和wordpress知乎
  • 游戏网站制作教程oa系统怎么使用
  • 中卫网站设计无代码开发平台什么意思
  • 河间哪里有做网站的装饰工程预算与报价
  • 杭州萧山做网站做企业网站好的
  • 网站备案和域名解析wordpress自动分表
  • 金猪云高端网站建设如何建设网站教程
  • 外卖网站建设费用装修公司室内装饰
  • 网站建设的硬件支持企业网站怎么做才能留住客户
  • phpcms做汽车网站企业公司怎么注册
  • 网站开发 卓优科技软件定制开发公司地址
  • 免费数据查询网站网站后台管理系统页面
  • 搭理彩票网站开发非洲外贸采购商
  • 做什么网站比较简单百度做广告多少钱一天
  • 充值网站分销站怎么做广州网站优化排名
  • 网站建设一般需要什么软件wordpress内容批量替换
  • 联通北京网站备案如何给自己的网站做seo
  • wordpress主题官方网站企业seo
  • 做网页做网站的技术人才宜宾网站建设工作室
  • 电影网站怎么做seo买个网站域名要多少钱一年
  • 淘宝客怎么做自己网站推广微信开发小程序工具
  • 上海网站营销公司thinkphp建站网址
  • dedecms双语网站pytson做网站安全吗
  • WordPress discuz 仿站江阴响应式网站开发