js删除数组对象中的某个属性的方法

46 篇文章 1 订阅
29 篇文章 0 订阅

模拟数组对象数据

let newArr = [{title:'小明', id:18},{title:'小红', id:16}]

方式一:(for循环)删除数组对象中的某个属性,如删除id属性

for (const key in newArr) {
   // 删除id属性
   delete newArr[key].id;
}

方式二:(map循环)删除数组对象中的某个属性,如删除id属性

let newArrVal = JSON.parse(JSON.stringify(newArr)) //数组是引用类型, 深拷贝一下
 
newArrVal.map(e => { delete e.id }) //然后删除属性id

错误写法:

let newArrVal = (JSON.parse(JSON.stringify(newArr))).map(e => { delete e.id}) 
//想代码一步到位, 结果得到错误的值

因为map不会改变原数组, 且需要return返回值给新数组接收!

上面错误代码中, 没有return 返回值, newArrVal最终得到的是undefined.

 方式三:(forEach循环)删除数组对象中的某个属性,如删除id属性

newArr.forEach(item => {
  if (item.id) {
	// 删除id属性
   delete item.id;
  }
})

 到此结束。

  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaScript,判断数组对象某个属性的值有多种方法。其一种方法是使用循环遍历数组元素,然后通过判断每个对象属性值是否等于目标值来确定是否含有该属性值。例如,可以使用以下代码来判断数组对象是否含有status属性值为1的对象: ```javascript let hasStatusOne = false; for (let i = 0; i < array.length; i++) { if (array\[i\].hasOwnProperty('status') && array\[i\].status === 1) { hasStatusOne = true; break; } } ``` 另一种方法是使用数组的`some`方法,它会遍历数组元素并返回一个布尔值,表示是否有元素满足某个条件。可以使用以下代码来判断数组对象是否含有status属性值为1的对象: ```javascript const hasStatusOne = array.some(item => item.hasOwnProperty('status') && item.status === 1); ``` 除了以上两种方法,还可以使用其他方法如`filter`、`indexOf`、`includes`、`find`和`Set`等来判断数组对象是否含有某个属性值。具体使用哪种方法取决于具体的需求和场景。\[2\] #### 引用[.reference_title] - *1* [js修改数组对象的值或属性/判断数组对象是否含有某个属性](https://blog.csdn.net/weixin_54218079/article/details/127705491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JavaScript判断数组对象是否含有某个值的方法(6种)](https://blog.csdn.net/XSL_HR/article/details/129787319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值