indexOf()

  • 功能:indexOf() 方法返回调用 String 对象中第一次出现的指定值的索引。

  • 语法:indexOf(searchValue, fromIndex)

    • searchValue:查找的值
    • formIndex:开始查找的位置
  • 返回值:如果找到了,则返回第一次出现的索引;如果没找到,则返回 -1

  • 代码:

'I am jsliang'.indexOf('a', 4); //
[1, 3, 1, 4].indexOf(1, 1); //
'怪盗 jsliang'.indexOf('我'); // -1
  • 扩展:如果需要查找到最后一次出现指定值的索引,可以使用 lastIndexOf()

join()

  • 功能:join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串

  • 语法:arr.join(separator)

    • separator 是合并的形式。例如 '' 就是不以任何形式拼接成字符串:['hello', 'hi'].join('') -> 'hellohi';例如 '-' 就是以 - 形式拼接成字符串:['hello', 'hi'].join('') -> 'hello-hi'
  • 返回值:一个所有数组元素连接的字符串。

  • 代码:

var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join(); // myVar1 的值变为 "Wind,Rain,Fire"
var myVar2 = a.join(', '); // myVar2的值变为"Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3的值变为"Wind + Rain + Fire"
var myVar4 = a.join(''); // myVar4的值变为"WindRainFire"

map()

  • 功能:map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

  • 语法:map((item, index) => {})

    • item:遍历的项
    • index:该次遍历项的索引
  • 返回值:一个新数组,每个元素都是回调函数的结果。

  • 代码:

[1, 2, 3, 4].map(item => item * 2) // [2, 4, 6, 8]

[{
name: 'jsliang',
age: 24,
}, {
name: '梁峻荣',
age: 124
}].map((item, index) => {
return `${index} - ${item.name}`;
}) // ['0 - jsliang', '1 - 梁峻荣']

方法 - pop()

  • 功能:pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

  • 语法:

    • arr.pop():返回从数组中删除的元素
  • 返回值:一个新数组,每个元素都是回调函数的结果。

  • 代码:

let arr = [1, 2, 3, 4];
for(let i = 0, time = 1; i < arr.length; time++) {
console.log(`------\n第 ${time} 次遍历:`);
console.log(arr.pop());
console.log(arr);
} /* Console:
------
第 1 次遍历:
4
[ 1, 2, 3 ]
------
第 2 次遍历:
3
[ 1, 2 ]
------
第 3 次遍历:
2
[ 1 ]
------
第 4 次遍历:
1
[]
*/

push()

  • 功能:push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

  • 语法:arr.push(element)

    • element:需要传入到数组的元素
  • 返回值:当调用该方法时,新的 length 属性值将被返回。

  • 代码:

let arr = [];
arr.push(1);
arr.push('2');
arr.push([3, 4, 5]);
arr.push([...6, 7, 8]);
console.log(arr); /*
[1, "2", Array(3), 6, 7, 8]
0: 1
1: "2"
2: (3) [3, 4, 5]
3: 6
4: 7
5: 8
length: 6
*/

方法 - reduce()

  • 功能:reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

  • 语法:arr.reduce((prev, next) => { return prev + next }

    • prev:数组前一项的值
    • next:数组后一项的值
    • returnreturn 出来的值,会被当成下一次的 prev
  • 返回值:函数累计处理的结果

  • 代码:

[1, 2, 3, 4].reduce((prev, next) => {
return prev + next;
}); //
['前端', 'pang', 'liang'].reduce((prev, next, index) => {
return (index = 0 ? '-js' : '') + prev + 'js' + next;
}); // 前端-jspang-jsliang

reverse()

  • 功能:reverse() 方法将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组。

  • 语法:arr.reverse()

  • 代码:

let arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]

slice()

  • 功能:slice() 方法提取一个字符串的一部分,并返回一新的字符串。

  • 语法:str.slice(beginSlice, endSlice)

    • beginSlice:从该索引(以 0 为基数)处开始提取原字符串中的字符。
    • endSlice:结束位置(以 0 为基数)。
  • 返回值:返回一个从原字符串中提取出来的新字符串。

  • 代码:

const str = 'jsliang';
str.slice(0, 2); // 'js'
str.slice(2); // 'liang'

sort()

  • 功能:sort() 对数组的元素进行排序,并返回数组。

  • 语法:sort(function)

    • function:按某种顺序进行排列的函数。
  • 返回值:排序后的数组。

  • 代码:

[4, 2, 5, 1, 3].sort(), // [1, 2, 3, 4, 5]
[4, 2, 5, 1, 3].sort((a, b) => a < b), // [5, 4, 3, 2, 1]
['a', 'd', 'c', 'b'].sort(), // ['a', 'b', 'c', 'd']
['jsliang', 'eat', 'apple'].sort(), // ['apple', 'eat', 'jsliang']

splice()

  • 功能:splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

  • 语法:array.splice(start, deleteCount, item1, item2, ...)

    • start:指定修改的开始位置(从0计数)。
    • deleteCount:整数,表示要移除的数组元素的个数。
    • item1, item2, ...:要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。
  • 返回值:由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。

  • 代码:

var months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb'); console.log(months);
// ['Jan', 'Feb', 'March', 'April', 'June'] months.splice(4, 1, 'May'); console.log(months);
// ['Jan', 'Feb', 'March', 'April', 'May']

split()

  • 功能:split() 方法使用指定的分隔符字符串将一个 String 对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。

  • 语法:str.split('.')

    • '.':即分割的形式,这里通过 . 来划分,如果是 '' 空,那么就单个字符拆分,如果是 '|',那么通过 | 来划分。
  • 返回值:一个新数组。返回源字符串以分隔符出现位置分隔而成的一个数组。

  • 代码:

String(12321).split(''); // ['1', '2', '3', '2', '1']
String(123.21).split('.'); // ['123', '21']

substring()

  • 功能:substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

  • 语法:str.substring(start, end)

    • start:需要截取的第一个字符的索引,该字符作为返回的字符串的首字母。
    • end:可选。0 - n,即从 start 开始,截取 end 位长度的字符串。
  • 返回值:包含给定字符串的指定部分的新字符串。

  • 代码:

var str = 'jsliang';
str.substring(0, 2); // js
str.substring(2); // liang

unshift()

  • 功能:unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度。

  • 语法:arr.unshift(element1, ..., elementN)

    • element1:要插入的第一个元素
    • elementN:要插入的第 N 个元素
  • 返回值:当一个对象调用该方法时,返回其 length 属性值。( unshift 会改变原本数组)

  • 代码:

let arrA = ['1'];
arrA.unshift('0');
console.log(arrA); // ['0', '1'] let arrB = [4, 5, 6];
arrB.unshift(1, 2, 3);
console.log(arrB); // [1, 2, 3, 4, 5, 6]

原文作者:jsliang
原文链接:https://github.com/LiangJunrong/document-library/blob/master/SUMMARY.md

JavaScript常用的方法的更多相关文章

  1. JavaScript常用工具方法

    JavaScript常用工具方法 1.日期格式化 2.将日期字符串转换为Date,字符串格式为(yyyy-mm-dd hh:mm:ss) 3.JS获取当天00:00:00时间和23:59:59的时间 ...

  2. 2、JavaScript常用互动方法

    一.输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出" ...

  3. JavaScript常用的方法和函数(setInterval和setTimeout)

    1.setInterval:计时器 可以按照指定的周期(以毫秒为单位)来调用函数或计算表达式 调用格式:setinterval(fun,time) 说明:fun为函数体,time为数值,这两个参数是必 ...

  4. JavaScript常用的方法和函数(setAttribute和getAttribute )

    仅记录学习的新知识和示例,无干货. 1.setAttribute和getAttribute          (Attribute:属性) setAttribute:为元素添加指定的属性,并为其赋值: ...

  5. JavaScript常用数组方法

    JavaScript数组方法有以下这些: forEach() 方法对数组的每一个元素执行一次提供的函数. map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变. filter( ...

  6. JavaScript常用工具方法封装

    因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype. ...

  7. Javascript 常用扩展方法

    这篇文章纯粹是为了保存这些方法,供以后翻阅,其实一直保存在 evernote 里面,但觉得还是放到对的地方会好点. 现在收录的很少,希望以后会慢慢增多. 数组扩展 contains,remove 扩展 ...

  8. JavaScript常用字符串方法和属性

    一直以来  在喜马拉雅上听  陪你读书(JavaScript WEB前端)  主播沙翼 讲的很好  果断买了这本书  现在做个笔记 var str = ‘abcd’ str.charAt(0); // ...

  9. javascript常用的方法(二)

    //判断页面加载完毕 document.onreadystatechange = function () { if (document.readyState == "complete&quo ...

随机推荐

  1. Mac上Docker的安装

    安装 安装包安装 由于历史原因, 本人使用的是安装安装的方式, 这也是很多Windows用户的习惯. 下载地址: https://download.docker.com/mac/stable/Dock ...

  2. linux--Linux 各目录及每个目录的详细介绍

    2017年08月31日 17:53:38 worthsen 阅读数 3490更多 所属专栏: Linux   版权声明:本文为博主原创文章,如要转载,请注明地址,谢谢^...^ https://blo ...

  3. Git操作入门

    生成ssh key: ​ ssh-keygen -t rsa -C "lkt@temp.com" ​ 按三次回车,最后在.ssh文件夹下得到id_rsa和id_rsa.pub两个文 ...

  4. CH08 QSPI启动并从EMMC运行APP

    8.1 概述 在前一节课,我们必须手动挂载TF卡到mnt,然后输入./a.out程序才能启动.而在嵌入式系统里面,我们很多时候需要实现开机启动程序.很多时候我们会把程序固化到FLASH,然后从EMMC ...

  5. Authentication源码解析

    1.获取当前的 Subject. 调用 SecurityUtils.getSubject(); 从当前线程的threadLocals属性中获取Subject对象 SecurityUtils publi ...

  6. Codeforces Round #421 (Div. 1) (BC)

    1. 819B Mister B and PR Shifts 大意: 给定排列$p$, 定义排列$p$的特征值为$\sum |p_i-i|$, 可以循环右移任意位, 求最小特征值和对应移动次数. 右移 ...

  7. Feign 客户端调用错误

    1.@RequestBody 必须要写在实现接口中 2.Feign 客户端调用的时候如果有参数的话,默认是发送post请求 3.服务接口中的请求参数必须要加上@RequestParam("r ...

  8. javascript Ajax 学习

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! AJAX是asynchronousjavascript and XML的简写,就是异步的javascrip ...

  9. 在论坛中出现的比较难的sql问题:29(row_number函数 组内某列的值连续出现3次标记出来)

    原文:在论坛中出现的比较难的sql问题:29(row_number函数 组内某列的值连续出现3次标记出来) 在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘 ...

  10. SQL 多并发 多人取号,防止重复取号SQL 办法

    BEGIN TRAN         SELECT  *  from 表明 WITH(HOLDLOCK)        UPDATE 表名 SET 值=1 WHERE 字段=@carrierNo;   ...