React Native中如何删除对象数组内的games2元素
解决方法
假设你的数组变量名为arr,可以用以下几种方式删除包含games2的对象:
方法一:使用filter方法(推荐,不修改原数组)
filter会返回一个新数组,只保留符合条件的元素。我们筛选出不包含games2属性的对象:
const arr = [{ "games1": [{ "playername": "1" }] }, { "games2": [{ "playername": "1" }, { "playername": "2" } ] }]; const result = arr.filter(item => !item.hasOwnProperty('games2')); console.log(result);
运行后result就是你想要的目标数组。
方法二:遍历数组找到索引后删除(直接修改原数组)
如果需要直接改动原数组,可以先定位到包含games2的元素索引,再用splice删除:
const arr = [{ "games1": [{ "playername": "1" }] }, { "games2": [{ "playername": "1" }, { "playername": "2" } ] }]; for (let i = 0; i < arr.length; i++) { if (arr[i].hasOwnProperty('games2')) { arr.splice(i, 1); break; // 找到目标后直接退出循环,减少不必要的遍历 } } console.log(arr);
方法三:用findIndex配合splice(更简洁的原数组修改方式)
const arr = [{ "games1": [{ "playername": "1" }] }, { "games2": [{ "playername": "1" }, { "playername": "2" } ] }]; const targetIndex = arr.findIndex(item => item.hasOwnProperty('games2')); if (targetIndex !== -1) { arr.splice(targetIndex, 1); } console.log(arr);
内容的提问来源于stack exchange,提问作者Mohit Jain
相关产品推荐
相关产品推荐

