日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php简述一下并集交集差集,总结了一下js中的差集、交集、并集

發(fā)布時(shí)間:2024/8/1 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php简述一下并集交集差集,总结了一下js中的差集、交集、并集 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

總結(jié)了一下有關(guān)于數(shù)組的差集、交集、并集的方法;

es6的方法實(shí)現(xiàn)

去重

/**

* 簡(jiǎn)單的數(shù)組去重

* @param {Array} a

*/

const uniquelize = function(a) {

if (a.constructor !== Array) {

throw TypeError("請(qǐng)傳入數(shù)組類(lèi)型");

}

return Array.from(new Set(a));

};

并集

/**

* 簡(jiǎn)單數(shù)組的并集

* @param {Array} a

* @param {Array} b

*/

const getUnion = function(a,b){

if(a.constructor === Array && b.constructor === Array){

let set1 = new Set(a);

let set2 = new Set(b);

return Array.from(new Set([...set1,...set2]));

}

return null;

}

交集

/**

* 簡(jiǎn)單數(shù)組的交集

* @param {Array} a

* @param {Array} b

*/

const getIntersect = function(a,b){

if(a.constructor === Array && b.constructor === Array){

let set1 = new Set(a);

let set2 = new Set(b);

return Array.from(new Set([...set1].filter( x => set2.has(x))));

}

return null;

}

差集

/**

* 簡(jiǎn)單數(shù)組的差集

* @param {Array} a

* @param {Array} b

*/

const getDifference = function(a,b){

if(a.constructor === Array && b.constructor === Array){

let set1 = new Set(a);

let set2 = new Set(b);

return Array.from(new Set([...set1].filter(x => !set2.has(x))));

}

return null;

}

es5的方法實(shí)現(xiàn)

去重

/**

* 簡(jiǎn)單的數(shù)組去重

* @param {Array} a

*/

var uniquelize = function(a) {

if (a.constructor !== Array) {

throw TypeError("請(qǐng)傳入數(shù)組類(lèi)型");

}

var obj = {},

arr = [];

for (var i = 0, j = a.length; i < j; i++) {

if (!obj[a[i]]) {

obj[a[i]] = 1;

arr.push(a[i]);

}

}

return arr;

};

交集

/**

* 簡(jiǎn)單數(shù)組的交集

*/

var getIntersect = function(){

var arr = new Array();

var obj = new Object();

var arguLen = arguments.length;

for(var i = 0; i

if(arguments[i].constructor !== Array){

throw TypeError("請(qǐng)都傳入數(shù)組類(lèi)型");

}

for(var j = 0,length = arguments[i].length;j

var item = arguments[i][j];

if(!obj[item]){

obj[item] = 1;

}else{

obj[item]++;

if(obj[item]===arguLen){

arr.push(item);

}

}

}

}

return arr;

}

并集

/**

* 簡(jiǎn)單數(shù)組的并集

*/

var getUnion = function(){

var arr = new Array();

var obj = new Object();

var arguLen = arguments.length;

for(var i = 0; i

if(arguments[i].constructor !== Array){

throw TypeError("請(qǐng)都傳入數(shù)組類(lèi)型");

}

for(var j = 0,length = arguments[i].length;j

var item = arguments[i][j];

if(!obj[item]){

obj[item] = 1;

arr.push(item);

}else{

//統(tǒng)計(jì)一下出現(xiàn)了多少次

obj[item]++;

}

}

}

return arr;

}

差集

/**

* 簡(jiǎn)單數(shù)組的差集

*/

var getDifference = function(){

var arr = new Array();

var obj = new Object();

var arguLen = arguments.length;

for(var i = 0; i

if(arguments[i].constructor !== Array){

throw TypeError("請(qǐng)都傳入數(shù)組類(lèi)型");

}

for(var j = 0,length = arguments[i].length;j

var item = arguments[i][j];

if(!obj[item]){

obj[item] = 1;

arr.push(item);

}else{

obj[item]++;

var index = arr.indexOf(item);

//存在就刪除掉

if(index !== -1){

arr.splice(index,1);

}

}

}

}

return arr;

}

總結(jié)

以上是生活随笔為你收集整理的php简述一下并集交集差集,总结了一下js中的差集、交集、并集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。