Swift判断二个数组中的所有元素是否相等

Swift判断二个数组中的所有元素是否相等,第1张

概述  只包含一种元素类型的array是否相同 func arrayIsEqualToASortOfArray(firstArray: NSArray,thenArray: NSArray) -> Bool 一个数组是否包含另一个数组所有元素 func arrayIsContain(firstArray: NSArray,isContainedByArray: NSArray) -> Bool 当数组

只包含一种元素类型的array是否相同

func arrayIsEqualToASortOfArray(firstArray: NSArray,thenArray: NSArray) -> Bool

一个数组是否包含另一个数组所有元素

func arrayIsContain(firstArray: NSArray,isContainedByArray: NSArray) -> Bool

当数组中元素类型不止一种判断二个数组中的元素是否相等,不能有元素重复

func arrayIsEqual(firstArray: NSArray,thenArray: NSArray) -> Bool

Demo点此

////  NSArray+Extra.swift//  判断二个数组中的所有元素是否相等////  Created by codeIsMyGirl on 16/6/13.//  copyright © 2016年 codeIsMyGirl. All rights reserved.//import Foundationextension NSObject {        // MARK:    // MARK: 只包含一种元素类型的array 是否相同    /// 只包含一种元素类型的array 是否相同     func arrayIsEqualToASortOfArray(firstArray: NSArray,thenArray: NSArray) -> Bool {         // 当所有元素都是 字符串 类型        if firstArray[0].isKindOfClass(Nsstring) {                        // 类型转换            let firstA = firstArray as! [String];                        let thenA = thenArray as! [String];            for i in firstA {                                // 如果出现不相等 直接返回                if thenA.contains(i) == false {                                    return false;                }            }                        // 执行到这里说明全部相等            return true;        }                // 当所有元素都是 数字 类型        if firstArray[0].isKindOfClass(NSNumber) {                        // 类型转换            let firstA = firstArray as! [NSNumber];                        let thenA = thenArray as! [NSNumber];                        for i in firstA {                                // 如果出现不相等 直接返回                if thenA.contains(i) == false {                                        return false;                }            }                        // 执行到这里说明全部相等            return true;        }         return false;    }     // MARK:    // MARK: 一个数组是否包换另一个数组所有元素    /// 一个数组是否包换另一个数组所有元素    func arrayIsContain(firstArray: NSArray,isContainedByArray: NSArray) -> Bool {         if firstArray.count > isContainedByArray.count {                        print("被包含数组长度小于包含数组长度");                        return false;        }                return publicCode(firstArray,thenArray: isContainedByArray);    }    // MARK:    // MARK: 二个数组中的所有元素是否相等    /// 用于数组中元素不止一种 判断二个数组中的所有元素是否相等    func arrayIsEqual(firstArray: NSArray,thenArray: NSArray) -> Bool {                if firstArray.count != thenArray.count {                        return false;        }                return publicCode(firstArray,thenArray: thenArray);    }   }// MARK:// MARK: 抽取extension NSObject {            // MARK:    // MARK: 公用代码    /// 公用代码    private func publicCode(firstArray: NSArray,thenArray: NSArray) -> Bool {                let count = firstArray.count;                // 相同的标记        var rightCount = 0;                for i in 0..<count {                        // 获取元素            let obj = firstArray[i];                        // 判断 Nsstring类型            if obj.isKindOfClass(Nsstring) {                                for j in thenArray {                                        // 获得所有 相同类型                    if j.isKindOfClass(Nsstring) {                                                let thenObj = j as! String;                                                if obj as! String == thenObj {                                                        rightCount += 1;                        }                                            }                }                            }                        // 判断 NSNumber类型            if obj.isKindOfClass(NSNumber) {                                for j in thenArray {                                        // 获得所有 相同类型                    if j.isKindOfClass(NSNumber) {                                                let thenObj = j as! NSNumber;                                                if obj as! NSNumber == thenObj {                                                        rightCount += 1;                        }                                            }                }                            }                                }                return count == rightCount;    }    }
总结

以上是内存溢出为你收集整理的Swift判断二个数组中的所有元素是否相等全部内容,希望文章能够帮你解决Swift判断二个数组中的所有元素是否相等所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1075221.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存