数组

创建数组

// 一、自变量创建数组
// 1-通过字面量创建一个空数组
var arr1 = [];
console.log(arr1)
console.log(typeof arr1); // object // 2-通过字面量创建一个带有元素数组
var arr2 = [1, 2, 'abc', null, true];
console.log(arr2); // 二、通过Array类型创建数组
// 1-创建空数组
var arr3 = new Array();
console.log(arr3); // 2-创建一个最初可以有五个元素的数组,数组的容量为5
var arr4 = new Array(5);
console.log(arr4) // 3-创建一个带有四个元素的数组
var arr5 = new Array(1,2,'a','y');
console.log(arr5);

数组元素的访问及修改

// 创建一个数组
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 1-数组下标访问
// 2-数字的length属性
// 通过lenth属性增加元素个数
arr1.length = 13;
console.log(arr1);
// 减少
arr1.length = 6;
console.log(arr1); // 3-通过索引增加数据 如果索引不连续 就会出现空的
arr1[6] = 7;
console.log(arr1); // 4-删除数据delete
// 使用delete删除不会改变数组的长度 删除的元素用undefined补全
var arr3 = [1, 2, 3, 4, 5]
delete arr3[2];
console.log(arr3);
console.log(arr3[2]); // undefined

数组的方法

var arr1 = [1, 2, 3, 4];
// push 向数组末尾添加元素
// 可以同时添加一个或多个元素
arr1.push(6);
console.log(arr1);
arr1.push(7,8,9);
console.log(arr1); // unshift 向数组开头添加元素
// 可以同时添加一个或多个元素 // 删除元素 pop() 移除最后一个元素
arr1.pop()
console.log(arr1); // 移除第一个元素
arr1.shift();
console.log(arr1); // 反转数组
var arr2 = [1, 2, 3];
arr2.reverse();
console.log(arr2); // join(str)
var arr3 = [1, 2, 3];
var str3 = arr3.join('*');
console.log(str3); // indexOf()
var arr4 = [1, 2, 3, 4, 5, 3];
console.log(arr4.indexOf(3)); //返回3元素 第一次出现的下标
// lastIndexof // slice(start, end):截取数组
// 返回一个新数组
var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var arr6 = arr5.slice(2); // 下标2到末尾
console.log(arr6);
var arr7 = arr5.slice(2,6); // 不包含 下标6
console.log(arr7); // splice(index, count, [item1, item2,...])
// splice可以进行增加修改或删除元素的操作
// index:下标 count :元素个数
// [item1 ..] 新元素
// splice直接操作原数组,对原数组有影响 // 删除:只写index 与count
// 返回:一个删除元素的数组
var arr8 = [1, 2, 3, 4, 5, 6, 7];
var arr9 = arr8.splice(2,4); // 下标2开始删除4个元素 arr8=[1, 2, 7]
console.log(arr9); // arr9 = [3, 4, 5, 6]
console.log(arr8); // 添加
// 如果执行添加元素的操作,count的值为0
var arr10 = [1, 2, 3, 4]
var arr11 = arr10.splice(2,0, 100,200,300);
console.log(arr11); // [] 没删除
console.log(arr10); // [1,2,100,200,300,3,4] // 替换
var arr12 = [1,2,3,4];
var arr13 = arr12.splice(2,2,100,200);
console.log(arr13); // [3, 4]
console.log(arr12); // [1,2,100,200] // sort:排序 按照ASCII 排序
var arr14 = [3, 17, 19, 2, 0, 1];
arr14.sort();
console.log(arr14); // 参数传入排序
function sortNumber(a,b){
return a - b;
}
arr14.sort(sortNumber);
console.log(arr14); // 检测数组的方法
var arr15 = [1, 2, 3, 4];
console.log(arr15 instanceof Array); // true
console.log(arr15.constructor === Array); // true

Date的方法

创建Date

// 创建
// 1、Date() 函数直接创建时间 返回当前时间
var date1 = Date();
console.log(date1); //中国标准时间
console.log(typeof date1); //string // 2、Date对象创建
// 2.1、不带参数
var date2 = new Date(); // 好处是可以设置时间
console.log(date2); // object // 2.2、构造方法传入参数
// 传入格式
// 2018-5-10 12:12:12
// 2018-5-10
// 2018-05-10 12:12:12
// 2018-05-10
// 2015/5/10 12:12:12
//2018/05/10 12:12:12 var date3 = new Date('2018-5-10 12:12:12');
console.log(date3);
var date4 = new Date('2018-05-10 12:12:12');
console.log(date5);
var date5 = new Date('2018/05/10 12:12:12');
console.log(date6); var date6 = new Date('2018-05-09'); // 用 / 也可以
console.log(date6); // Wed May 09 2018 08:00:00 GMT+0800 (中国标准时间) // 从00:00:00开始 与上面差8小时 而 / 加0不加0是没有区别的
var date7 = new Date('2018-5-9');
console.log(date7); // "Wed May 09 2018 00:00:00 GMT+0800 (中国标准时间)" // 2.3 传入参数: 格式(年月日时分秒毫秒) 会进位
var date8 = new Date(2015, 5, 1, 12, 32, 25); //月从0开始数 5代表6月!!!
console.log(date8); // 2.4 传入一个参数:格式(毫秒)
var date9 = new Date(2000)
console.log(date9)

Date的方法

var date1 = new Date();
console.log(date1.getFullYear());
console.log(date1.getMonth());
console.log(date1.getDate());
console.log(date1.getDay()); //星期
console.log(date1.getHours());
console.log(date1.getMinutes());
console.log(date1.getSeconds());
console.log(date1.getMilliseconds());
// 距离1970-01-01的毫秒数
console.log(date1.getTime()); // 设置年份 ....星期一般不用设置
date1.setFullYear(2015);
// date.setDate();
console.log(date1); // 装换成字符串 包含年月日分时秒
console.log(date1.toLocaleString());
// 包含年月日
console.log(date1.toLocaleDateString());
// 包含分时秒
console.log(date1.toLocaleTimeString()) // 返回该日期距离1970年 1月1 日 0点的毫秒数
console.log(Date.parse('2016-10-10')); // 日期的运算
var d6 = new Date();
var d7 = new Date(2016, 10, 11);
console.log(d6-d7); // 毫秒数

正则表达式

创建正则表达式

// 创建正则表达式
// 1、对象方法创建
// new RegExp('正则表达式','模式');
// g:全局查找
// i:不区分大小写
var r1 = new RegExp('nice');
var r2 = new RegExp('nice','g')
var r3 = new RegExp('nice','i')
var r4 = new RegExp('nice','gi') // 2、字面量创建
var r5 = /nice/;
var r6 = /nice/gi; //
var r7 = /[a-z]/;

正则的方法

var str1 = 'today is very good good Good'

var r1 = /good/gi;
// 1、test():查找字符串中是否有符合要求的字符串
// 返回boolean
var result = r1.test(str1);
console.log(result) // true //2、exce():查找字符串中是否有符合要求的字符串
// 返回值类型:数组或null
// 返回数组 代表可以找到
// 返回null 代表查找结束或没有找打 //当第一次执行exec时,从字符串开头开始查找,如果找到,返回匹配到的
//字符串和下标,当再一次执行时候,继续向下查找,返回匹配到下一个字符串
// 如果返回null 代表找不到或查找结束,然后下次执行从头查找 // exec:会记录已经查找过的下标
// 当text与exec同时使用,test检验字符串时,如果能够符合要求
// 会记录找到的下标。
var resu1 = r1.exec(str1);
console.log(resu1); // good index 19 第二个good 由于test找了第一个good
var resu2 = r1.exec(str1);
console.log(resu2); // Good index 24
var resu3 = r1.exec(str1);
console.log(resu3); // null
var resu4 = r1.exec(str1);
console.log(resu4); // good index 14 // 3、compile():修改正则表达式
r1.compile('nice'); /* r1 = /nice/ */
console.log(r1) // /nice/

字符串中应用正则

// 字符串切割
str1='a b c d f'
console.log(str1.split(/ +/)) // 字符串替换
var str2 = 'nice good nice good'
console.log(str2.replace('nice', 'bad')) // 替换一次
console.log(str2.replace(/nice/g, 'bad')); // 字符串查找
var str3 = 'nice good nice good nice';
console.log(str3.search(/Good/i)); //返回一次查到的下标

正则的使用

// 点击按钮后 执行func函数
function func () {
//获取输入框
var i1 = document.getElementById("in1"); // id为in1的input输入框
//获取文字
var str1 = i1.value;
IsString(str1) } function IsString (str) {
if(str.length!=0){
reg = /^[a-zA-Z0-9_]+$/;
if(!reg.test(str)){
alert('您输入的字符串格式不正确')
}else{
alert('正确')
}
}else{
alert('您输入的内容为空')
}
}

JavaScript(数组、Date、正则)的更多相关文章

  1. Javascript数组操作

    使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...

  2. JavaScript 数组

    JavaScript 数组 简介:数组是值的有序集合,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 一:创建数组 ...

  3. javascript数组的知识点讲解

    javascript数组的知识点讲解 阅读目录 数组的基本方法如下 concat() join() pop() push() reverse() shift() sort() splice() toS ...

  4. JavaScript数组知识网络

    JavaScript数据类型 基本数据类型 Boolean Null Number String Symbol Undefined 对象数据类型Object Build-in object Array ...

  5. javascript 的Date 格式化, 模仿shell中date命令的格式

    原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...

  6. JavaScript 数组基本操作

    简介 数组操作无论是在JavaScript中还是在其他语言中都是很常见.经常会用到的,现在我把JavaScript 数组基本操作整理一下,供大家参考学习.里边包含我自己的见解以及案例,希望能够帮助大家 ...

  7. 重学JavaScript - 数组

    作者:狐狸家的鱼 GitHub:surRimn 整理自MDN文档 数组 数组是一种类列表对象,长度和元素类型不固定. 描述 访问数组 JavaScript数组的索引是从0开始的,第一个元素的索引为0, ...

  8. javaScript数组的三种属性—数组索引、数组内置属性、数组自定义属性

    JS数组也是一种对象. 我们用JavaScript处理的所有东西,都可以视为是一种对象. JavaScript中有两种数据类型,基本类型数对象类型,但是基本类型基本都是包括在对象类型之中的. 数组.函 ...

  9. 松软科技web课堂:JavaScript 数组

    JavaScript 数组用于在单一变量中存储多个值. 实例 var cars = ["Saab", "Volvo", "BMW"]; 什么 ...

  10. 教你用好 Javascript 数组

    原文链接:https://juejin.im/post/5d9769b26fb9a04df26c1b89 作为 Javascript 的标准对象之一,数组是非常底层而且实用的数据结构.虽然结构很简单, ...

随机推荐

  1. phpmyadmin新姿势getshell

    旁白:在一个有WAF.并且mysql中的Into outfile禁用的情况下,我该如何getshell? 作者:倾旋email:payloads@aliyun.com投稿联系:service@cora ...

  2. Coffee and Coursework (Hard Version)

    Coffee and Coursework (Hard Version) time limit per test 2.5 seconds memory limit per test 256 megab ...

  3. ShellExecute 使用

    shellExecute 函数原型及参数含义: function ShellExecute(hWnd:HWND;Operation,FileName,Parameters,Directory:PCha ...

  4. PHP指定时间戳/日期加一天,一年,一周,一月

    PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可! 博主搜索php指定时间戳加一天一年,结果许多的文章给出来 ...

  5. Gym 102028C - Supreme Command - [思维题][2018-2019 ACM-ICPC Asia Jiaozuo Regional Contest Problem C]

    题目链接:https://codeforces.com/gym/102028/problem/C Lewis likes playing chess. Now he has n rooks on th ...

  6. [No0000199]设计模式总结

    设计模式之间的关系: 设计模式总概况: 一.设计原则 .单一职责原则 一个类,只有一个引起它变化的原因.应该只有一个职责.每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一 ...

  7. vue 安装cli3.0版本,创建项目

    注意:Vue CLI需要Node.js版本8.9或更高版本(建议使用8.11.0+). 查看node版本:node -v  , 查看npm 版本  npm -v, 1.首先需要安装node.js环境 ...

  8. 为虚拟机配置NAT网络

    一.打开网络适配器 1.按图中所示进行配置 2.记得把网和VM8关联一下 3.点击网络设置 4.点击右下角小齿轮来配置ip 5.在IPv4下选择手动 6. 7. 这个就是Linux的NAT配置

  9. ORACLE---OCP培训

    闪回恢复区 SYS@orcl>show parameter recov; NAME         TYPE  VALUE------------------------------------ ...

  10. Windows路由表

    对于路由器的路由表,网管都很熟悉,但是windows的路由表,可能了解的人就相对少一些.今天我们就一起来看看windows路由表. 一.windows路由表 1.使用命令 route print 查看 ...