javascript怎样实现类似php中in_array()的功能
就是判断一个元素是否存在于数组中的函数,既然js里string都有indexOf
函数,为什么不在Array
对象里设置一个这样的函数呢,其实就用indexOf
这个思想挺好的,不知道制定JS标准的人是基于什么考虑,把这样一个如此常用的功能没考虑在内的。
各位有什么好办法来实现这个功能吗?
回复内容:
就是判断一个元素是否存在于数组中的函数,既然js里string都有indexOf
函数,为什么不在Array
对象里设置一个这样的函数呢,其实就用indexOf
这个思想挺好的,不知道制定JS标准的人是基于什么考虑,把这样一个如此常用的功能没考虑在内的。
各位有什么好办法来实现这个功能吗?
我不会告诉你有这么一个网站的:http://phpjs.org/ 哈哈
用 github 上的项目来回答问题。 欢迎关注 github那些事儿
php.js implements PHP functions in JavaScript。github 地址:https://github.com/kvz/phpjs
indexOf在ECMAScript 5th中是有的,参考:https://developer.mozilla.org/en-US/d...
if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { "use strict"; if (this == null) { throw new TypeError(); } var t = Object(this); var len = t.length >>> 0; if (len === 0) { return -1; } var n = 0; if (arguments.length > 1) { n = Number(arguments[1]); if (n != n) { // shortcut for verifying if it's NaN n = 0; } else if (n != 0 && n != Infinity && n != -Infinity) { n = (n > 0 || -1) * Math.floor(Math.abs(n)); } } if (n >= len) { return -1; } var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); for (; k <p>其实不止indexOf,lastIndexOf,filter,forEach,every,map,some等等在ECMAScript 5th 中都有实现, 各个javascript库也有相关的代码,可以去看看。</p> <p class="answer fmt" data-id="1020000000122662"> </p><p>jQuery中有类似的函数:http://docs.jquery.com/Utilities/jQue...</p><p>它的代码如下:</p><pre class="brush:php;toolbar:false">function inArray(needle, haystack) { var length = haystack.length; for(var i = 0; i <p class="answer fmt" data-id="1020000000122766"> </p><p>underscore.js 是一个非常强大的js库,增添了很多js强化功能,同时也是很多js开源项目的基础库——例如著名的mvc框架Backbone.js。</p><p>其中有求元素在array中的索引的方法</p><p>http://underscorejs.org/#indexOf</p><pre class="brush:php;toolbar:false">_.indexOf(array, value, [isSorted]) _.indexOf([1, 2, 3], 2); => 1
如果你的数组里都是纯数字的话,那么告诉你一个比较简便的方法
// 比如判断2312是否在这个数组中 ('|' + [2312,3331,423456].join('|') + '|').indexOf('|' + 2312 + '|')
模拟实现哦

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。
