scala array 删除元素_Array中some介绍
概念
Array.prototype.some方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
语法
arr.some(callback(element[, index[, array]])[, thisArg])
参数
callback
用来测试每个元素的函数,接受三个参数:element
数组中正在处理的元素。index 可选
数组中正在处理的元素的索引值。array 可选
被调用的数组。
*thisArg 可选
执行 callback 时使用的 this 值。
返回值
result
数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为false。
描述
some() 为数组中的每一个元素执行一次 callback 函数,直到找到一个使得 callback 返回一个“真值”(即可转换为布尔值 true 的值)。如果找到了这样一个值,some() 将会立即返回 true。否则,some() 返回 false。
callback 只会在那些”有值“的索引上被调用,不会在那些被删除或从来未被赋值的索引上调用。
callback 被调用时传入三个参数:元素的值,元素的索引,被遍历的数组。
如果一个thisArg参数提供给some(),它将被用作调用的 callback的 this 值。否则, 它的 this value将是 undefined。this的值最终通过callback来观察,根据 the usual rules for determining the this seen by a function的this判定规则来确定。
some() 被调用时不会改变数组。
some() 遍历的元素的范围在第一次调用 callback. 前就已经确定了。在调用 some() 后被添加到数组中的值不会被 callback 访问到。
如果数组中存在且还未被访问到的元素被 callback 改变了,则其传递给 callback 的值是 some() 访问到它那一刻的值。已经被删除的元素不会被访问到。
例子
例一、检查数组是否有大于10的元素
1[1, 11, 9, 5, 8].some(function(item, index) {2 console.log(item, index);3 // => 1, 04 // => 11, 15 return item > 10;6});7// => true89// 缩写10[1, 11, 9, 5, 8].some(item=>item>10); // => true
例二、空数组调用some方法
1[].some(item=>item);2// => false34[].some(item=>!item);5// => false
例三、用some实现flat方法
1let arr = ['a', ['b', 'c', ['d', 'e', 'f', ['g']]]];2function flat(array){3 while (array.some(Array.isArray)) {4 array = [].concat(...array);5 }6 return array;7}8flat(arr);9// => ['a', 'b', 'c', 'd', 'e', 'f', 'g']
面试题
一、请写出下面的运行结果?
1[].some(item=>!item); // => ???2[null].some(item=>!item); // => ???3['a', 'b', 'c'].some(item=> item.charCodeAt()> 100); // => ???
Polyfill
1if (!Array.prototype.some) {2 Array.prototype.some = function(fun /*, thisArg*/ ) {3 'use strict';4 if (this == null) {5 throw new TypeError('Array.prototype.some called on null or undefined');6 }7 if (typeof fun !== 'function') {8 throw new TypeError();9 }10 var t = Object(this);11 var len = t.length >>> 0;12 var thisArg = arguments.length >= 2 ? arguments[1] : void 0;13 for (var i = 0; i < len; i++) {14 if (i in t && fun.call(thisArg, t[i], i, t)) {15 return true;16 }17 }18 return false;19 };20}
相关文章
Array中slice介绍
Array中join介绍
不是你记忆中的join,但致命的程度没两样
前端咖,值得关注,在看哦
scala array 删除元素_Array中some介绍相关推荐
- python list删除元素_python中List添加、删除元素的几种方法
原博文 2015-06-21 18:51 − 一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非 ...
- python dict 删除元素_python中如何删除dict元素?
我们知道如果我们在网络上发布不当.不正确的言论.网站会把我们的评论删除.正是因为是不正确的,它就没有存在的必要.之前小编向大家介绍了在python字典里添加元素的三种方法(https://www.py ...
- java数组删除元素_java中删除 数组中的指定元素方法
java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子. java的api中,并没有提供删除数组中元素的方法.虽 ...
- java for循环删除元素_JAVA中循环删除list中元素的方法总结
JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环).iterator遍历. 1.for循环遍历list for(int i=0;i if(list.get ...
- java list 遍历 删除元素_java中List遍历删除元素相关做法和注意事项
首先,使用简单的for循环时,list.remove()肯定是没问题的,只要注意一下下标别越界就行. 示例代码: List ll = new ArrayList(); ll.add("1&q ...
- java中list删除元素_java中,删除一个List中的后n个元素
在java中,如果要删除List中的后n个元素,可以选择这个方法:循环n次,每次删除List的最后一个元素. 下面是一个例子(删除一个拥有6个元素的后三个元素): import java.util.L ...
- java set遍历删除元素_java中循环遍历删除List和Set集合中元素的方法
今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常: ConcurrentModificationException 为了以后不忘记,使用烂笔头把它记录 ...
- Java中List 删除元素方法參考
Java中List 删除元素 Java中List 删除元素会使集合大小减少,合理删除的一些方法. 1:删除后的元素i-1 删除一个元素后,后边的元素左移1位,此时i-1,保证了下次循环能访问到左移了1 ...
- html点击按钮清空元素,jQuery怎么删除元素节点
jquery删除元素节点的方法非常简单,我们可以直接通过remove()方法来进行删除节点操作. 下面我们就结合简单的代码示例,给大家详细介绍jquery删除节点元素的方法. 代码实例如下: jque ...
最新文章
- 来自 Google 的 R 语言编码风格指南
- 学习笔记Kafka(七)—— Kafka 与Spark集成 —— 原理介绍与开发环境配置、实战
- 6.虚拟机类加载机制
- 逆袭“潮牌”后,李宁离安踏还有多远?
- Eclipse jar包打不进apk
- jquery ui动态切换主题的一种实现方式
- duration java_Java Duration类| ofDays()方法与示例
- 漫步最优化三十三——牛顿法
- 蓝桥杯基础练习字母图形
- js实现数据流(日志流,报警信息等)滚动展示,并分页(含实现demo)
- mongodb 字符串转bson_大数据存储技术选型(六)--Mongodb专题介绍
- ios上的python编译器_在ios中运行一个简单的python脚本
- python EXCEL表格数据对比
- 用H5STEAM实现大华摄像头的WEB开发
- 使用Axure实现原型设计(一)
- 【论文笔记】Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme
- IBM服务器U盘安装CentOS6.8系统
- 如何恢复vscode的默认配置_史上最全vscode配置使用教程
- 欧氏距离与马氏距离的优缺点是什么?
- 神经外科病人资料管理系统