JavaScript基础笔记(三)

166 阅读3分钟

Array对象

ArrayJS的内置对象,可以用构造函数方式创建,比如需要判断colors是不是一个数组

Array.isArray(colors)      

最终返回一个布尔值

数组的操作方法

toSting( ) 将数组转成一个字符串。

push( ) 向数组的末尾添加一个指定元素。

pop( )  删除最后一个元素,并返回被删除后的数组。

unshift( )  向数组的第一个位置添加一项元素并返回新的数组。

shift( )    移除数组的第一个元素,并返回被移除的元素。

reverse( )  将数组倒序排列。

sort( )   默认是升序排列,sort会调用toString方法把数值转成字符串然后调用charCodeAt方法来转成Unicode编码来进行比较。

concat( )将多个数组进行合并,可以是一个参数也可以是多个参数,可以是对象与数组合并。

slice( ) 找到指定索引的元素但不包含指定索引

newColors = newArr.slice(1,4)    

两个参数表示从索引为1的开始,到索引为4的结束,顾头不顾尾,包含索引为1的,不包含索引为4的,也可以是负数。负数是从后向前查找

newColors = newArr.slice(-4,-1) 

也可以将当前数组进行分割成一个或多个元素并且返回一个新的数组

var arr = [{name:"张三"},[1,2,3],"black"]
add = arr.slice(1,1)      从第一个开始删除一个,并返回一个新的数组 [1,2,3,"black"]

截取素组

console.log(str.slice(2));    //   截取索引为2元素后面的所有元素并返回

splice( ) 删除数组的指定元素

arr.splice(0,2)     //从索引为0的开始,删除两项

插入元素

arr.splice(1,0,"小太阳")     //  从索引为1的开始,不删除元素,并在索引为1的后面添加小太阳

替换

arr.splice(1,1,"小太阳")     //  从索引为1的开始,删除1个元素,并在索引为1的后面添加小太阳

数组的迭代方法 filter( )

filter( ) 对数组的元素进行过滤

var arr = [1,2,34,56,21,3,4,10]
var add = arr.filter(function(item,index,array){
    return item >= 10
} 
consloe.log(add)      //  过滤出大于等于10的元素

map( )

遍历数组的每一项元素并对其元素做出相应的操作

var arr = [1,2,34,56,21,3,4,10]
var add = arr.map(function(item,index,array){
    return item *2
} 
consloe.log(add)      //  遍历每一项元素并乘2

map方法的应用

需求:把每一个对象中的nameage遍历出来并返回两个新的数组

array = [{
	    name: "小太阳",
	    age: 13
	},
	{
	    name: "张三",
	    age: 17
	},
	{
	    name: "李四",
	    age: 18
	},
	]
var add=array.map(function(item,inde){
	return item.name
})
var ages=array.map(function(item,inde){
	return item.age
})
console.log(add)       //   ["小太阳", "张三", "李四"]
console.log(ages)      //   [13, 17, 18]

字符串的常用方法

charAt()  获取指定字符的索引

charcodeAt( )    获取指定的字符的编码

concat( )     把传进来的元素拼接到素组的末尾,并返回新的素组,可以是一个参数也可以是多个参数,但是一般不使用它来拼接字符

substring( )slice( )相似  ,都是顾头不顾尾

substr( )    第一个参数是开始位置,第二个参数是返回的个数

indexOf( )   查找元素的索引

indexOf("e",2)     //  从索引为的开始查找e这个元素,找到第一个就不再向后查找

lastIndexOf( )   与 indexOf( )相似,只是lastIndexOf( )是从后向前查找

trim( )清除当前字符串的前后空格

toUpperCase( )   将字符都转成大写

toULowerrCase( ) 将字符都转成小写

查找当前字符在字符串中的所有位置

var str='Ordinary and happy';
var arr = []
var pos= str.indexOf("n")
while(pos>-1){
    arr.push(pos)
    pos=str.indexOf("n",pos+1)
}
console.log(arr)       //[4, 10]