`

JS_Array_RegExp

 
阅读更多

一、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);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    javascript模拟php函数in_array

    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); ...

    类似php的js数组的in_array函数自定义方法

    在JavaScript中,`in_array`函数是一个在PHP中广泛使用的数组操作函数,它用于检查数组中是否存在指定的元素。然而,JavaScript的原生数组对象并没有提供这样的功能。因此,为了实现类似PHP的`in_array`功能,我们...

    JS List的contains方法与Array的contains方法的使用

    ### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...

    JS 判断某变量是否为某数组中的一个值的3种方法(总结)

    js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数。 Array.prototype.in_array=function(e){ var r=new RegExp(','+e+','); return (r.test(','+this.join(this.S)+','));}; 用法...

    jQuery中inArray方法注意事项分析

    然而,正如标题和描述中提到的,使用`$.inArray()`时需要注意一些事项,因为JavaScript的弱类型特性可能会导致意外的结果。 `$.inArray(element, array)`方法接收两个参数:`element`是要查找的元素,`array`是待...

    107个常用javascript语句

    有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeErr or,URIError 53.JS中的换行:\n 54.窗口全屏大小:&lt;script&gt;function fullScreen...

    前端大厂最新面试题-javascript.docx

    答:JavaScript的内置对象有:Array、Boolean、Date、Error、Function、JSON、Math、Number、Object、RegExp、String等。 五、DOM操作 5. 如何为一个元素添加CSS类primary? 答:可以使用元素的classList属性或...

    JavaScript_study

    它不仅可以在浏览器端执行,也可以在服务器端通过如Node.js这样的环境运行。JavaScript具有简单、灵活、可扩展性强等特点。 ### 基本数据类型 JavaScript中有多种基本数据类型,包括但不限于: - **Array**:数组...

    javascript_api

    Array 对象 创建一个新的 Boolean 值。 Boolean 对象 提供日期和时间的基本存储和检索。 Date 对象 存储数据键、项对的对象。 Dictionary 对象 提供集合中的项的枚举。 Enumerator 对象 包含在运行 JScript ...

    JS实现判断数组是否包含某个元素示例

    本文实例讲述了JS实现判断数组是否包含某个元素。分享给大家供大家参考,具体如下: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt; &...

    javascript技巧(珍藏版)

    alert("Latest Javascript version supported: " + JS_ver.supports()); alert("Support for version 1.7: " + JS_ver.supports("1.7")); ``` #### 技巧5:利用`window.name`进行数据传递 在跨页面的数据传递中,`...

    js_testing:JS 的杂项

    此外,JavaScript还有许多内置对象和方法,如Array、Date、RegExp等,它们提供了丰富的功能来处理数组、时间和正则表达式。还有错误处理机制(try...catch)、类型检测(typeof、instanceof等)以及调试工具的使用,...

    判断数组是否包含某个元素的js函数实现方法

    由于JavaScript原生的数组对象(Array)没有直接提供一个名为contains的方法,因此开发者常常需要自行实现这样的功能。通过阅读文档,我们可以了解到几种不同的实现方式,并分析其优劣。 首先,最直观的方法是使用...

    javascript 有趣而诡异的数组

    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....

    JavaScript-RegExp对象只能使用一次问题解决方法

    以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个...经过调试,发现第一次执行,aRt得到了返回的Array(数组),但是紧跟其后的sRt却是null 经过反复尝试,发现是因为RegExp对象执行了一次后就废掉了

    javascript标准参考教程_阮一峰

    标准库部分详细讲解了JavaScript内置对象的功能和使用方法,包括但不限于Object、Array、Math、Date、RegExp、JSON等。例如,Array对象的API提供了对数组元素进行增加、删除、排序等操作的方法。Math对象则提供了...

    js基础面试题.html

    RegExp.__proto__ === Function.prototype // true Error.__proto__ === Function.prototype // true Date.__proto__ === Function.prototype // true &lt;h2&gt;2、js 引用类型与值类型 &lt;div&gt;1.引用类型 &gt; var a = {"x...

    Javascript-note.zip_javascript

    这些对象包括但不限于Array、String、Number、Boolean、Object、Date、RegExp等。例如,Array对象提供了丰富的数组操作方法,如push、pop、slice、splice等,而String对象则有substring、indexOf、replace等字符串...

Global site tag (gtag.js) - Google Analytics