字符串操作:

//str.length
"micromajor".length // 10 //str.charAt()
"micromajor".charAt(0) // "m"
"micromajor".charAt(100) // "" //str.indexOf()
"micro-major".indexOf("-") // 5
"micro-major-web".indexOf("-") // 5
"micro-major".indexOf("major") // 6
"micromajor".indexOf("-") // -1 //str.search()
"micromajor163".search(/[0-9]/) // 10
"micromajor163".search(/[A-Z]/) // -1 //str.match
"micromajor163".match(/[0-9]/) // ["1"]
"micromajor163".match(/[0-9]/g)// ["1","6","3"]
"micromajor163".match(/[A-Z]/) // null //str.replace(' ',' ');
"micromajor163".replace("163","###") // "micromajor###"
"micromajor163".replace(/[0-9]/,"#") // "micromajor#63"
"micromajor163".replace(/[0-9]/g,"#") // "micromajor###"
"micromajor163".replace(/[0-9]/g,"") // "micromajor" //str.substring
"micromajor".substring(5,7) // "ma"
"micromajor".substring(5) // "major" //str.slice() 可传入负数
"micromajor".slice(5,7) // "ma"
"micromajor".slice(5) // "major"
"micromajor".slice(1,-1) // "icromajo"
"micromajor".slice(-3) // "jor" //str.substr()
"micromajor".substr(5,2) // "ma"
"micromajor".substr(5) // "major" //str.split();
"micro major".split(" ") // ["micro","major"]
"micro major".split(" ",1) // ["micro"]
"micro2major".split(/[0-9]/) // ["micro","major"] //str.toLowerCase();
"MicroMajor".toLowerCase() // "micromajor"
//str.toUpperCase();
"MicroMajor".toUpperCase() // "MICROMAJOR" //字符串拼接
"0571" + "-" + "88888888" // "0571-88888888" //转字符
String(163) // "163"
String(null) // "null" // \转义
"micro\"major" // "micro"major"
"micro\\major" // "micro\major"
"micro\tmajor" // "micro major"

一些正则相关:

var str = 'aaa111bb22c3';
var rex = /[a-z]+([0-9]{3})/; //字符串匹配正则表达式
str.match(rex);
//rex最后不带g,只获取第一个匹配的,且会把字符串中匹配正则表达式中括号内的部分也放到数组中。
// -->['aaa111', '111'];
//带g -->['aaa111']; //测试字符串能否匹配表达式
rex.test(str);// --> true //替换
str.replace(rex,'$1');// --> '111bb22c3'

 数组操作:

//arr.indexOf();
var telephones = [110,120,114];
telephones.indexOf(120); // 1
telephones.indexOf(119); // -1 //arr.forEach(function(item,index,array));
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var editScore = function(item,index,array){
item.score += 5;
};
students.forEach(editScore); //arr.reverse();
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.reverse();
students[0].score; // 70 //arr.sort(function(a,b));
// function(a,b)会返回一个值,如果是小于0的值,就会将a所对应的元素排在前面。
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var byScore = function(a,b){
return b.score-a.score;
};
students.sort(byScore); //arr.sort();
var studentNames = ["wq","xl","gp"];
studentNames.sort();
studentNames; // ["gp","wq","xl"] //arr.push();插到最后一个。
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.push({id:4,score:90}); var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.push({id:4,score:90},{id:5,score:60}); //arr.unshift;插到第一个。
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.unshift({id:4,score:90}); //arr.shift();移除第一个并返回移除的值。
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.shift(); // {id:1,score:80} //arr.pop();移除最后一个并返回移除的值。
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.pop(); // {id:3,score:70} //arr.splice(移除的元素的索引号,移除的个数,插入的新元素);
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.splice(1,1,{id:4,score:90}); var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.splice(1,1); var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
students.splice(1,0,{id:4,score:90}); //arr.slice();
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var newStudents = students.slice(0,2); var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var newStudents = students.slice(0); //arr.contat();
var students1 = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var students2 = [
{id:4,score:90},
{id:5,score:60}
];
var students3 = [
{id:6,score:40},
{id:7,score:30}
];
var newStudents = students1.concat(students2,students3); //arr.join();
var emails = ["wq@163.com","gp@163.com","xl@163.com"];
emails.join(";"); // "wq@163.com;gp@163.com;xl@163.com" //arr.forEach();
var scores = [60,70,80,90];
var newScores = [];
var addScore = function(item,index,array){
newScores.push(item+5);
};
scores.forEach(addScore);
newScores; // [65,75,85,95]
console.log(scores.forEach(addScore));
console.log(scores); //arr.map(); 有返回值
var scores = [60,70,80,90];
var addScore = function(item,index,array){
return item+5;
};
scores.map(addScore); // [65,75,85,95] // arr.reduce(function(previousResult,item,index,array),previousResult的初始值);
var students = [
{id:1,score:80},
{id:2,score:50},
{id:3,score:70}
];
var sum = function(previousResult,item,index,array){
console.log(previousResult);
console.log(item);
return previousResult+item.score;
};
students.reduce(sum,0); // 200

  

【前端学习笔记02】JavaScript字符串、数组的一些操作方法的更多相关文章

  1. 前端学习笔记之JavaScript

    JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客 ...

  2. 【前端学习笔记】JavaScript 常用方法兼容性封装

    获取样式函数封装 function getStyle(ele,attr){ if(ele.currentStyle){ return ele.currentStyle[attr]; } else{ r ...

  3. Web前端学习笔记之JavaScript、jQuery、AJAX、JSON的区别

    官网的英文解释: javascript和jQuery有点关系,js是一种脚本语言,主要用于客户端,现在主要用于实现一些网页效果. jquery是js的一个库,你可以认为是对js的补充,提供了很多方便易 ...

  4. 【前端学习笔记】JavaScript 小案例合集

    获取一个0-9的随机数: Math.round(Math.random()*9); 去除数组中重复的元素: var arr=[1,3,5,4,3,3,1,4] function editArr(arr ...

  5. 【前端学习笔记】JavaScript JSON对象相关操作

    //JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...

  6. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  7. 【前端】Web前端学习笔记【2】

    [2016.02.22至今]的学习笔记. 相关博客: Web前端学习笔记[1] 1. this在 JavaScript 中主要有以下五种使用场景 在全局函数调用中,this 绑定全局对象,浏览器环境全 ...

  8. 【前端】Web前端学习笔记【1】

    ... [2015.12.02-2016.02.22]期间的学习笔记. 相关博客: Web前端学习笔记[2] 1. JS中的: (1)continue 语句 (带有或不带标签引用)只能用在循环中. ( ...

  9. 【学习笔记】JavaScript的基础学习

    [学习笔记]JavaScript的基础学习 一 变量 1 变量命名规则 Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头.例如: var myTestValue = 0, mySeco ...

随机推荐

  1. Linux入门第五天——shell脚本入门(下)基础语法之循环

    一.循环 1.不定循环 有两种形式: while [ condition ] <==中括号内的状态就是判断式 do <==do 是循环的开始! 程序段落 done <==done 是 ...

  2. SSM-CRUD入门项目——新增与校验

    新增 分析: 在Index.jsp页面点击新增,弹出对话框(模态框) 数据库查询部门列表显示在模态框中 用户输入数据完成操作 我们先把模态框构建出来,并对新增按钮添加事件,点击按钮弹出模态框: < ...

  3. 20155233 《Java程序设计》 实验三 敏捷开发与XP实践

    20155233 <Java程序设计> 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤与内容 1.在IDEA中使用工具(Code->Reformat ...

  4. 20155315实验四 Android程序设计

    实验内容 安装 Android Stuidio 学习Android Stuidio调试应用程序 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim ...

  5. 【转】CentOS下MySQL忘记root密码解决方法

    原文转自:http://www.cnblogs.com/sbaicl/articles/3132010.html 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在 ...

  6. Spring学习(一)-----Spring 模块详解

    官方下载链接:http://repo.spring.io/release/org/springframework/spring/ Spring 模块详解: Core 模块 spring-beans-3 ...

  7. Linux环境配置备忘

    1.Ubuntu服务器版本装scipy 预装版本可能fortran包版本过旧或者不全,安装scipy之前需要更新环境. sudo apt-get install gfortran libopenbla ...

  8. selenium自动化之加载浏览器的配置文件

    做seleniumUI自动化关于选用哪个浏览器方面,对于我来说,火狐浏览器只是用于定位元素,因为有firebug(注意高版本的火狐已经安装不了这个插件了),而真正执行自动化脚本用的是谷歌,感觉谷歌的速 ...

  9. [转]RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】

    前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家. 首先我们先罗列一下我们要安装的软件 ...

  10. Amazon Seller Central is Temporarily Unavailable

    Seller Central is Temporarily Unavailable We apologize for the inconvenience. Our technical staff is ...