JS求数组差集的几种方法

JavaScript035

JS求数组差集的几种方法,第1张

第一种:如果不考虑IE8的兼容性完全可以使用Foreach ,此方法求出arr1 减去 arr2的差集,

arr1 = [1,2,3,4]

arr2 = [1,2,3]  

  var subSet = function (arr1, arr2) {

        var set2 = new Set(arr2)

        var subset = []

        arr1.forEach(function(val, index) {

            if (!set2.has(val)) {

                subset.push(val)

            }

        })

        return subset

    }

//结果等于4

第二种是使用JQuery 的merge和grep的配合使用求差集,兼容IE8 、chrome等主流游览器

var alpha = [1, 2, 3, 4],

beta = [1,2,3]

$.arrayIntersect = function(a, b)

{

return $.merge($.grep(a, function(i)

{

return $.inArray(i, b) == -1

}) , $.grep(b, function(i)

{

return $.inArray(i, a) == -1

})

)

}

window.console && console.log( $.arrayIntersect(alpha, beta) )

//结果等于4

第三种使用ES6 的set 方法类似与foreach方法

var subSet = function(arr1, arr2) {

    var set1 = new Set(arr1)

    var set2 = new Set(arr2)

    var subset = []

    for (let item of set1) {

        if (!set2.has(item)) {

            subset.push(item)

        }

    }

    return subset

}

根据孔的尺寸的不同查下列标准:

GB/T 1800.2-2009 产品几何技术规范(GPS) 极限与配合 第2部分:标准公差等级和孔、轴极限偏差表

GB/T 1800.3-1998 极限与配合 基础 第3部分:标准公差和基本偏差数值表

GB/T 1800.4-1999 极限与配合 标准公差等级和孔、轴的极限偏差表

GB/T 1801-1999 极限与配合 公差带和配合的选择

GB/T 1801-2009 产品几何技术规范(GPS) 极限与配合 公差带和配合的选择

GB/T 1803-2003 极限与配合 尺寸至18mm孔、轴公差带