JS数组去重你知道有几种方法
1.参考答案一:利用ES6新增数据类型 Set
Set类似于数组,但是成员的值都是唯一的,没有重复的值。
function uniq(arry) {
return […new Set(arry)];
}
2.参考答案二:利用 indexOf
function uniq(arry) {
var result = [];
for (var i = 0; i < arry.length; i++) {
if (result.indexOf(arry[i]) === -1) {
//如 result 中没有 arry[i],则添加到数组中
result.push(arry[i])
}
}
return result;
}
3.参考答案三:利用 includes
function uniq(arry) {
var result = [];
for (var i = 0; i < arry.length; i++) {
if (!result.includes(arry[i])) {
//如 result 中没有 arry[i],则添加到数组中
result.push(arry[i])
}
}
return result;
}
4.参考答案四:利用 reduce
function uniq(arry) {
return arry.reduce((prev, cur) => prev.includes(cur) ? prev : […prev, cur], []);
}
如何将两个数组对象的相同属性进行操作(更简洁)
我们以前可以使用双循环,来判断条件,达到目的,这里我们使用更简洁的方法:
合并数组,然后通过obj[v.name]=obj[v.name]===undefined)判断其条件,将两个数组对象的相同属性将对应的type变为1。
var arr1=[
{name:‘a’},
{name:‘b’},
{name:‘c’}
]
var arr2=[
{name:‘a’,type:‘0’},
{name:‘b’,type:‘0’},
{name:‘d’,type:‘0’}
]
var obj = {};
function get(arr1,arr2){
return […arr1,…arr2].filter(v=>{
if(!(obj[v.name]=obj[v.name]===undefined)){
return v.type=‘1’
}
})
}
console.log(get(arr1,arr2));
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120020213
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?