JavaScript数组

一、数组

1.API

JS中的API,预定义的函数和方法

toString() 将数组转换为字符串,默认是按照逗号分割元素

join('-') 将数组转换为字符串,默认是按照逗号分割元素,可以指定分隔符号

concat(arr1,arr2...) 拼接多个数组,arr1,arr2表示要拼接的数组,返回拼接后的数组

如何学习一个API:作用、参数、返回值;数组的API还需要查看原数组是否会发生变化。

slice(start, end) 截取数组元素,start开始的下标,end结束的下标,不包含end这一项,end为空会截取到最后,如果下标为负数表示倒数,返回的是截取的数组。原数组不会发生变化

练习:创建数组,包含a~h,每个字母是一个元素,截取出bc,f,将截取到的两部分组合成一个数组。

splice(start, count, v1, v2,...) 删除数组元素,start开始的下标,count删除的数量,count为空表示删除到最后,下标为负数表示倒数,返回删除的元素,原数组会发生变化。

练习:创建数组,包含a~h,每个字母是一个元素,删除cd,替换m为s,在下标为1的位置插入字母z

reverse() 翻转数组元素,返回翻转后的数组,原数组会发生变化

sort() 对数组元素进行排序,默认会将元素转为字符串进行的排序

sort(function(a,b) {
    return a - b  //  按照数字从小到大排列
    // return b - a   // 按照数字从大到小排列
})

push() 往数组末尾添加元素,返回数组的长度,原数组会发生变化

pop() 删除数组末尾的一个元素,返回删除的元素,原数组会发生变化

unshift() 往数组开头添加元素,返回数组的长度,原数组会发生变化

shift() 删除数组开头的一个元素,返回删除的元素,原数组会发生变化

indexOf() 查找数组中是否含有某个元素,返回的是下标,如果不存在返回-1

练习:创建一个数组,数组包含的元素有爱国福、和谐福,判断是否含有敬业福,如果不含有则把敬业福添加到数组中。

其它的API

W3school:JavaScript 数组方法

MDN:Array.prototype.push() - JavaScript | MDN

2.二维数组

数组中的元素还是数组,用于对一组数据进行二次分类

var arr = [
    [元素1, 元素2,..],
    [元素1, 元素2,..],
    [元素1, 元素2,..]
]

二、字符串对象

包装对象:目的就是让原始类型的数据像引用类型的数据,具有属性和方法,JS提供三种包装对象,分别是字符串对象、数值对象、布尔对象

new String('1')   //将一个字符串包装为对象
String(1)   //将一个值转换为字符串

转义字符 \

转换字符本身的意义

\'   // 将具有特殊意义的引号转义为普通引号
\n   // 将字符n转义为换行符
\t   // 将字符t转义为制表符(tab键效果,多个连续空格)

练习:打印输出以下路径

C:\WEB2303\JS\03.html

API

length 获取字符串的长度

所有字符串API无法改变原来字符串中的内容

charAt() 获取下标对应的字符,也可以使用数组的格式 字符串[下标]

练习:遍历字符串javascript,统计出字符a出现的次数。

var str = 'javascript'
// 遍历字符串
// 声明变量,用于统计数量
for(var i=0,count=0; i

面试题:统计出一个字符串中哪一个字符出现的次数最多,有多少次。(统计出每个次数出现的次数)

indexOf() 查找字符串中是否含有某个字符串,返回的是第一个的下标,找不到返回-1

lastIndexOf() 查找字符串中是否含有某个字符串,返回的是最后一个的下标,找不到返回-1

slice(start, end) 截取字符串,start开始的下标,end结束的下标,不包含end本身,end为空会截取到最后,下标为负数表示倒数

练习:分别截取出一个邮箱的用户名和域名,最后打印

var str = '[email protected]'
// 获取@对应的下标
var n = str.indexOf('@')
// console.log(n)
// 截取用户名
var user = str.slice(0,n)
var domain = str.slice(n+1)
// console.log(user,domain)
console.log(`用户名:${user}  域名:${domain}`)

split() 将字符串转为数组

toUpperCase() 英文字母转大写

toLowerCase() 英文字母转小写

你可能感兴趣的:(算法,前端,javascript)