资讯专栏INFORMATION COLUMN

JavaScript Array.prototype.some()

phpmatt / 2263人阅读

摘要:语法参数用来测试每个元素的函数。执行时使用的值。为数组中的每一个元素执行一次函数,知道找到一个使返回的值。遍历的元素的范围在第一次调用时就已经确定了。在调用后被添加到数组中得值不会被访问到。

本文来源于:http://itkaiyuan.com/2016/01/07/527.html 转载注明出处!

some() 方法测试数组中某些元素是否通过了指定函数的测试。

语法

array.some(callback [, thisArg])

参数

 callback
 用来测试每个元素的函数。
 thisArg
 执行callback 时使用的this值。

some为数组中的每一个元素执行一次 callback 函数,知道找到一个使 callback 返回 true 的值。如果找到了这样一个值,some将会立即返回 true。否则 some 返回 false。callback 只会在那些有值的索引上被调用,不会在那些被删除或从来未赋值的索引上调用。

callback被调用时传入三个参数:元素的值、元素的索引、源数组。

some 被调用时不会改变数组。

some 遍历的元素的范围在第一次调用 callback 时就已经确定了。在调用 some 后被添加到数组中得值不会被 callback 访问到。如果数组中存在且还未被访问到的元素被 callback 改变了,则其传递给 callback 的值是 some 访问到它的那一刻的值。

function isBigEnough(element, index, array){
   return element >= 10;
}

var passed = [2,5,8,1,4];
alert(passed.some(isBigEnough));

passed = [12,5,8,1,4];
alert(passed.some(isBigEnough));
function isBigEnough(element, index, array){
  element += 10;
  return element >= 10;
}

var passed = [1,2,3,4,5]
alert(passed.some(isBigEnough));

兼容旧环境

if (!Array.prototype.some)
{
  Array.prototype.some = function(fun /*, thisArg */)
  {
    "use strict";

    if (this === void 0 || this === null)
      throw new TypeError();

    var t = Object(this);
    var len = t.length >>> 0;
    if (typeof fun !== "function")
      throw new TypeError();

    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
    for (var i = 0; i < len; i++)
    {
      if (i in t && fun.call(thisArg, t[i], i, t))
        return true;
    }

    return false;
  };
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78458.html

相关文章

  • JavaScript之数组

    摘要:数组的特别之处在于,当使用小于的非负整数作为属性名时数组会自动维护其属性值。返回的数组包含第一个参数指定的位置和所有到但不含第二个参数指定的位置之间的所有数组元素。数组中只需有一项满足给定条件则返回。 概念 JavaScript数组是JavaScript对象的特殊形式。数组索引实际上和碰巧是整数的属性名差不多,使用方括号访问数组元素就像用方括号访问对象的属性一样。JavaScript将...

    coolpail 评论0 收藏0
  • 给初学者:JavaScript 中数组操作注意点

    摘要:使用遍历数组有三点问题遍历顺序不固定引擎不保证对象的遍历顺序。作为原生函数,和自身操作字符串的速度是很快的。由于没有返回值返回,所以它的回调函数通常是包含副作用的,否则这个写了毫无意义。接受一个回调函数,你可以提前,相当于手写循环中的。 不要用 for_in 遍历数组 这是 JavaScript 初学者常见的误区。for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerab...

    tianyu 评论0 收藏0
  • JavaScript数组迭代(遍历)方法

    摘要:正文和中新增的的数组迭代方法如下其中,是新增的,其余都是新增的。指数组后,返回过滤后的新数组。它的参数跟方法是一样的所有数组成员依次执行回调函数,直到找出第一个返回值为的成员,然后返回该成员。 前言 ES5和ES6中新增了不少东西,对于数组而言,新增了不少迭代方法,让我们可以抛弃for循环,更方便的写JS代码。 正文 ES5和ES6中新增的的数组迭代方法如下: forEach map...

    light 评论0 收藏0
  • JavaScript || 数组

    摘要:总结使用访问数组元素,使用访问数组属性,如。数组的长度保证大于每个元素的索引值,数组没有元素,最大索引为,为为数组元素赋值,如果其索引大于等于现有数组长度,的属性值将设置为如果设置的值小于数组长度时,会将索引大于的元素全部删除。 数组 数组是值的有序集合,数组中每个值称为元素,元素在数组中的位置称为索引。JavaScript中的数组是一种特殊的对象: 类属性class attribu...

    Euphoria 评论0 收藏0
  • JavaScript Array 整理 - 遍历操作

    摘要:描述此函数用来遍历数组的每一个元素,回调的返回值有意义,返回时,数组停止循环。问题一个数组最多可以有多长中规定,数组的长度会使用转化,即。 这是我的原创文章,原文地址:http://lpgray.me/article/48/ 今天谈谈基础,在前端开发中,Array的基础操作很是频繁多见,在ES5中有许多Array的新特性,但是对于我等中国的码农,尤其是PC前端狗整天就与IE678打交道...

    mengera88 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<