`
wang_peng1
  • 浏览: 3944381 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

扩展Array 判断包含对象以及其索引

 
阅读更多
import Foundation

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }
        let array: NSArray = self.bridgeToObjectiveC();

        return array.containsObject(object)
    }

    func indexOf(object:AnyObject!) -> Int? {
        var index = NSNotFound
        if(!self.isEmpty) {
            let array: NSArray = self.bridgeToObjectiveC();
            index = array.indexOfObject(object)
        }
        if(index == NSNotFound) {
            return Optional.None;
        }
        return index
    }

    //#pragma mark KVC

    func getKeyPath(keyPath: String!) -> AnyObject! {
        return self.bridgeToObjectiveC().valueForKeyPath(keyPath);
    }
}

 

分享到:
评论

相关推荐

    详解JS中Array对象扩展与String对象扩展

    标题所指的知识点主要分为两个部分:JS中Array对象的扩展和String对象的扩展。以下是对这两部分内容的详细阐述。 一、Array对象的扩展 Array对象是JavaScript中最为重要的对象之一,用于表示数组,即有序的列表。...

    js Array对象的扩展函数代码

    本文将介绍如何扩展Array对象的一些常用函数,包括`filter`、`every`、`forEach`、`map`和`some`。 首先,`filter`函数用于创建一个新数组,新数组中的元素是通过所提供函数实现的测试的所有元素。在给定的代码示例...

    为JS扩展Array.prototype.indexOf引发的问题及解决办法

    `for...in`循环设计用来遍历对象的所有可枚举属性,包括数组的索引和在原型链上的属性。在以下示例中,我们期望只输出数组元素: ```javascript var a = ["张飞", "关羽", "刘备", "吕布"]; for (var p in a) { ...

    JS 操作Array数组的方法及属性实例解析

    此外,Array对象还包含许多其他的方法,如`push()`、`pop()`、`shift()`、`unshift()`用于操作数组的两端,`splice()`用于插入、删除和替换元素,`slice()`用于获取数组的一部分,`concat()`用于合并数组,`indexOf...

    js判断节假日实例代码

    在JavaScript中,实现判断节假日的功能主要涉及到日期对象的处理和数组操作。以下是对这个实例代码的详细解析: 首先,我们看到代码中定义了两个数组,`jrdate_2017` 和 `jrdate_2018`,分别包含了2017年和2018年的...

    基于prototype扩展的JavaScript常用函数库

    首先,我们来看如何扩展Array对象以增加检索数组元素的方法。在JavaScript中,原生的数组对象并没有内置直接检查元素是否存在的方法。通过原型扩展,我们可以添加一个新的方法`contains`来实现这一功能。`contains`...

    javascript中contains是否包含功能实现代码(扩展字符、数组、dom)

    在JavaScript中,`contains`方法在原生对象里只存在于DOM元素,用于判断一个元素是否包含另一个元素作为子元素。在字符串和数组上,`contains`方法并不存在,这就要求我们如果要在JavaScript中对字符串和数组实现...

    测试js数组的一点特性写的代码

    - `Array.prototype.includes()`:判断数组是否包含某个元素。 - `Array.prototype.find()`:查找满足条件的第一个元素。 - `Array.prototype.findIndex()`:查找满足条件的第一个元素的索引。 通过`TestArray....

    JavaScript判断数组是否包含指定元素的方法

    在JavaScript中,有多种方法可以实现这个功能,包括使用`indexOf()`方法、`Array.prototype.includes()`方法,以及自定义`contains()`方法。下面将详细介绍这些方法及其使用技巧。 1. `indexOf()`方法: 这是最常用...

    前端面试题之baseJS-isArray.zip

    - `for...of` 循环:ES6引入的新语法,可以遍历可迭代对象,包括数组。 - `for...in` 循环:不推荐用于遍历数组,因为它会遍历数组的索引,而非值。 - `Array.prototype.forEach()`:用于遍历数组,但不能中断...

    JavaScript数组类型Array相关的属性与方法详解

    JavaScript中的Array类型是编程中最常用的数据结构之一,它允许存储任意类型的值,并且可以动态扩展长度。本篇文章将深入解析Array对象的相关属性和方法。 1. **数组的创建方法** - **数组字面量**:这是最常见也...

    1.ECMAScript 6简介1

    8. **数组的扩展**:`Array.from()`将类数组对象或可迭代对象转换为数组,`Array.of()`创建一个数组,`find()`和`findIndex()`找到符合条件的第一个元素及其索引,`fill()`填充数组元素,`copyWithin()`复制数组的一...

    js中将具有数字属性名的对象转换为数组

    这表明,如果对象具有数字索引并且拥有一个 `length` 属性,那么使用 `Array.prototype.slice.call` 可以将其转换为数组。但需要注意的是,在一些特定的场景下,如操作 DOM 集合时,可能会遇到兼容性问题。例如在IE...

    js从数组中删除指定值(不是指定位置)的元素实现代码

    首先,我们需要了解如何通过`Array.prototype.indexOf`方法来查找数组中元素的索引位置。这个方法接受一个参数,遍历数组寻找第一个与该参数相等的元素。如果找到了,就会返回这个元素的索引;如果没有找到,就会...

    JavaScript 5 新增 Array 方法实现介绍

    - JavaScript的动态扩展性,允许开发者向内置对象如Array添加新的方法。 - 原型链继承的概念,允许通过修改Array.prototype来给所有数组实例添加新方法。 - 使用立即执行函数表达式(IIFE)创建一个独立的作用域,...

    MATLAB数据及其运算_matlab源码.rar

    复合数据类型包括结构体(structure)、细胞数组(cell array)、多维数组(multi-dimensional array)和数组对象(array object)。结构体可以看作是具有多个字段的数据容器,每个字段可以存储不同类型的数据。细胞...

    Javascript数组Array基础介绍

    数组的元素可以是任何数据类型,包括数字、字符串、对象甚至函数。数组的创建主要有两种方式:数组字面量语法和使用Array构造函数。数组字面量是最常用且简洁的创建方式,如`var arr1 = [1, 2, 3];`。Array构造函数...

    LHDemoValueForKeyPath.zip

    3. **数组索引**:如果`keyPath`包含了数组的索引,比如`@"array[0]"`,则可以访问数组的第一个元素。 4. **集合操作**:可以对数组或集合进行聚合操作,如`@"array.@sum.value"`,将数组中所有对象的`value`属性值...

    第五单元.pptx_电子版_pptx版

    例如,DOM中的Nodelist对象就是一个常见的类似数组的对象,通过`Array.from()`可以方便地将其转换为可操作的数组。此外,`Array.from()`还可以接收第二个参数,该参数可以看作是数组的`map`方法,允许你在转换过程中...

Global site tag (gtag.js) - Google Analytics