数组

创建数组

// 一、自变量创建数组
// 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. 15:CSS3 3D

    15:CSS3 3D 什么是3d的场景呢? 2d场景,在屏幕上水平和垂直的交叉线x轴和y轴 3d场景,在垂直于屏幕的方法,相对于3d多出个z轴 Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向 CSS ...

  2. socket并发聊天

    服务端: import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): print('服 ...

  3. ClientImageViewController

    package com.vcredit.ddcash.server.web.controller.common; import com.vcredit.ddcash.server.commons.mo ...

  4. day21 二十一、垃圾回收机制、re正则

    一.内存管理 1.垃圾回收机制:不能被程序访问到的数据称之为垃圾 2.引用计数:引用计数是用来记录值的内存地址被记录的次数 每一次对值地址的引用都可以使该值的引用计数 +1 每一次对值地址的释放都可以 ...

  5. ASP.NET Core ResponseCaching:基于 VaryByHeader 定制缓存 Key

    ASP.NET Core ResponseCaching 提供了缓存http响应内容的能力,通过它可以在本地内存中直接缓存http响应内容,这是速度最快的服务端缓存,省却了网络传输与生成响应内容的开销 ...

  6. Codeforces 570E - Pig and Palindromes - [滚动优化DP]

    题目链接:https://codeforces.com/problemset/problem/570/E 题意: 给出 $n \times m$ 的网格,每一格上有一个小写字母,现在从 $(1,1)$ ...

  7. C和C指针小记(十五)-结构和联合

    1.结构 1.1 结构声明 在声明结构时,必须列出它包含的所有成员.这个列表包括每个成员的类型和名称. struct tag {member-list} variable-list; 例如 //A s ...

  8. awt

    public class MouseTest extends Frame{ private static final long serialVersionUID = 54376853365952763 ...

  9. JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?

    一种: <a href="javascript:if(confirm('确实要删除该内容吗?')){location='http://www.google.com'}"> ...

  10. TCP/IP的分层管理

    网络基础TCP/IP 我们通常所使用的网络(包括互联网)均是在TCP/IP协议族的基础上运作的.HTTP属于它内部的一个子集 TCP/IP协议族按层次分为:应用层,传输层,网络层和数据链路层(更好的划 ...