一、Array
1、栈方法eg:
var colors = [ "red", "green", "black" ]; document.write("colors: " + colors); document.write("<br>"); colors.push("apple", "pear"); document.write("colors: " + colors); document.write("<br>"); colors.push("apple"); document.write("colors: " + colors); document.write("<br>"); colors.pop(); document.write("colors: " + colors);
2、队列方法。eg:
var colors = [ "red", "green", "black" ]; document.write("colors: " + colors); document.write("<br>"); colors.push("apple", "pear"); document.write("colors: " + colors); document.write("<br>"); colors.push("apple"); document.write("colors: " + colors); document.write("<br>"); var shi = colors.shift(); document.write("colors.shift() : " + shi); document.write("<br>"); document.write("colors: " + colors);
2、排序方法sort
var arrs = [ { age : 11, name : "liyong" }, { age : 2, name : "ahangsan" } ] function compareFun(arg) { return function(obj1, obj2) { var v1 = obj1[arg]; var v2 = obj2[arg]; if (v1 > v2) { return 1; } else if (v1 < v2) { return -1; } else { return 0 } } } console.log("arrs :",arrs); var sort_arrys = arrs.sort(compareFun("name"));// if(sort_arrys===arrs){ document.write("sort方法的返回值和排序前的数组名指向同一对象"); } console.log("arrs.sort(compareFun(name)); :",arrs);
3、操作的方法。
contact方法,首先复制当前数组的副本,然后把参数中每一项逐一添加到副本中,此方法不会影响原来的数组。
var colors = [ "red", "green", "black" ]; document.write("colors: " + colors); document.write("<br>"); var contactColor = colors.concat("gray",["key","value"]) document.write("After concat "); document.write("<br>"); document.write("colors: " + colors); document.write("<br>"); document.write("contactColor: " + contactColor); document.write("<br>");
slice 方法会基于当前数组创建新数组,可以接受一个活两个参数,表示新数组在当前数组的起始位置(和结束位置),此方法不影响原数组。
var colors = [ "red", "green", "black", "gray" ]; document.write("colors: " + colors); document.write("<br>"); var sliceColor1 = colors.slice(1) var sliceColor2 = colors.slice(0, 2) document.write("=======After slice =========="); document.write("<br>"); document.write("colors: " + colors); document.write("<br>"); document.write("colors.slice(1): " + sliceColor1); document.write("<br>"); document.write("colors.slice(0,2) : " + sliceColor2); document.write("<br>");
数组可以使用splice删除、插入、替换元素。eg.
var colors = [ "red", "green", "black", "gray" ]; document.write("colors: " + colors); document.write("<br>"); document.write("=======After splice =========="); document.write("<br>"); colors.splice(1, 1) document.write("删除数据: colors.splice(1, 1)" + colors); document.write("<br>"); colors.splice(0, 0,"lisi") document.write("插入数据: colors.splice(0,0, lisi)" + colors); document.write("<br>"); colors.splice(2, 1,"zhangsan") document.write("替换数据: colors.splice(2, 1,zhangsan)" + colors); document.write("<br>");
4、迭代方法。
ervery():对数组中的每一项运行给定函数,如果该函数的每一项返回true,则该方法返回true.
filter():对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组。
forEach():对数组中的每一项运行给定的函数,没有返回值。
map():对数组中的每一项运行给定的函数,返回每次函数调用返回结果的数组。
var num =[1,2,3,4]; var filter = num.filter(function(item,index,array){ return item>2; }); //num==array var map = num.map(function(item,index,array){ return item+2*3; }); document.write("filter : "+ filter); document.write("<br>"); document.write("map : "+ map); document.write("<br>");
5、reduce方法
var num =[1,2,3,4,5]; var sum = num.reduce(function(pre,cur,index,array){ document.write("pre : "+ pre+" cur : "+cur+" index:"+index); document.write("<br>"); return pre+cur; }); //array == num var map = num.map(function(item,index,array){ return item+2*3; }); document.write("sum : "+ sum); document.write("<br>");
二、Regexp
1、var expression = /pattern/flags;
var expression = new RegExp(pattern,flags)
g:应用与所有的字符串,而非发现第一个就停止匹配。
i:不区分大小写。
m:表示多行(multiline)模式,到达一行末尾的时候还会找下一行中是否从在匹配的项。
Regpex的每个实例都有下列属性。
global(boolean),表示是否设置了g标志。
ignoreCase(boolean),表示是否设置了i标志。
lastindex表示下一个匹配项的字符位置,从0算起。
multiline m
source 正则表达式中的pattern.
var pattern = /\[bc\]at/gi; document.write("global: " + pattern.global); document.write("<br>"); document.write("source: " + pattern.source); document.write("<br>"); document.write("multiline: " + pattern.multiline); document.write("<br>"); document.write("lastIndex: " + pattern.lastIndex); document.write("<br>"); document.write("ignoreCase: " + pattern.ignoreCase); document.write("<br>");
2、exec方法,如果patten设置了全局变量g也只返回一个匹配项,但是对于同一字符串多次调用会继续查找新的匹配项,而如果不设置g,则多次调用exec()始终返回第一项的匹配信息
var pattern = /mom (and dady (and baby)?)?/gi; var matches = pattern.exec(text); console.log("matches: ",matches);
相关推荐
js 中判断某个元素是否存在于某个 js 数组中,相当于 php 语言中的 in_array 函数。 Array.prototype.S=String.fromCharCode(2); Array.prototype.in_array=function(e){ var r=new RegExp(this.S+e+this.S); ...
在JavaScript中,`in_array`函数是一个在PHP中广泛使用的数组操作函数,它用于检查数组中是否存在指定的元素。然而,JavaScript的原生数组对象并没有提供这样的功能。因此,为了实现类似PHP的`in_array`功能,我们...
### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...
js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数。 Array.prototype.in_array=function(e){ var r=new RegExp(','+e+','); return (r.test(','+this.join(this.S)+','));}; 用法...
然而,正如标题和描述中提到的,使用`$.inArray()`时需要注意一些事项,因为JavaScript的弱类型特性可能会导致意外的结果。 `$.inArray(element, array)`方法接收两个参数:`element`是要查找的元素,`array`是待...
有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeErr or,URIError 53.JS中的换行:\n 54.窗口全屏大小:<script>function fullScreen...
答:JavaScript的内置对象有:Array、Boolean、Date、Error、Function、JSON、Math、Number、Object、RegExp、String等。 五、DOM操作 5. 如何为一个元素添加CSS类primary? 答:可以使用元素的classList属性或...
它不仅可以在浏览器端执行,也可以在服务器端通过如Node.js这样的环境运行。JavaScript具有简单、灵活、可扩展性强等特点。 ### 基本数据类型 JavaScript中有多种基本数据类型,包括但不限于: - **Array**:数组...
Array 对象 创建一个新的 Boolean 值。 Boolean 对象 提供日期和时间的基本存储和检索。 Date 对象 存储数据键、项对的对象。 Dictionary 对象 提供集合中的项的枚举。 Enumerator 对象 包含在运行 JScript ...
本文实例讲述了JS实现判断数组是否包含某个元素。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> &...
alert("Latest Javascript version supported: " + JS_ver.supports()); alert("Support for version 1.7: " + JS_ver.supports("1.7")); ``` #### 技巧5:利用`window.name`进行数据传递 在跨页面的数据传递中,`...
此外,JavaScript还有许多内置对象和方法,如Array、Date、RegExp等,它们提供了丰富的功能来处理数组、时间和正则表达式。还有错误处理机制(try...catch)、类型检测(typeof、instanceof等)以及调试工具的使用,...
由于JavaScript原生的数组对象(Array)没有直接提供一个名为contains的方法,因此开发者常常需要自行实现这样的功能。通过阅读文档,我们可以了解到几种不同的实现方式,并分析其优劣。 首先,最直观的方法是使用...
types: ["Array", "RegExp", "Date", "Number", "String", "Object"] }; for (var i = 0, c; c = is.types[i++]; ) { is[c] = (function (type) { return function (obj) { return Object.prototype.toString....
以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个...经过调试,发现第一次执行,aRt得到了返回的Array(数组),但是紧跟其后的sRt却是null 经过反复尝试,发现是因为RegExp对象执行了一次后就废掉了
标准库部分详细讲解了JavaScript内置对象的功能和使用方法,包括但不限于Object、Array、Math、Date、RegExp、JSON等。例如,Array对象的API提供了对数组元素进行增加、删除、排序等操作的方法。Math对象则提供了...
RegExp.__proto__ === Function.prototype // true Error.__proto__ === Function.prototype // true Date.__proto__ === Function.prototype // true <h2>2、js 引用类型与值类型 <div>1.引用类型 > var a = {"x...
这些对象包括但不限于Array、String、Number、Boolean、Object、Date、RegExp等。例如,Array对象提供了丰富的数组操作方法,如push、pop、slice、splice等,而String对象则有substring、indexOf、replace等字符串...