4.js中的内置对象

js中的内置对象
字符串,函数,数组
Array String Math Date

ECMAScript中的Array数组

1、掌握如何创建数组
在这里插入图片描述

//创建—个保存颜色的数组
var colors=new Array(3);  //3代表长度,可以放几个数组元素
var nums=new Array (1,3,69) ;//直接写出数组元素
console.log (nums );
colors[0]="#f00";
colors[1]="#0f0";
colors[2]="#00f";
//字面量显示
var cols=["red" , "yellow " , "green" ];
console.log( cols) ;
var infos=[6, "marry" , true, {
    
     email : "[email protected]" }];
console.log(infos);
console.log( cols[1]); //读取cols中索引为1的值

读取和设置值时,使用方括号[]并提供相应的索引
说明∶索引是从O开始的正整数

2、掌握数组元素的读和写
3、掌握数组的length属性

在这里插入图片描述

var arr=['a','b','c','d'];
arr.length=3; //则移除了d,但不建议这样做
console.log(arr[3]);
arr[99]='z';
console.log(arr.length);//100

数组的遍历,用for循环即可

for(var i=0;i<arr.length;i++){
    
    
console.log(arr[i]);
}

在这里插入图片描述

var colors=new Array ( " red", "green" ) ;
var len=colors.push( "blue" , "yellow""blank" ) ;
consolo.log( len) ;//5

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//push
var colors=new Array ( "red" , "green" ) ;
var len=colors.push ( "blue" , " yellow""blank" ) ;
console.log ( len) ;
// unshift
var nums=[2786];
var size=nums.unshift(99,66) ;
// pop
var n=nums.pop( ) ;
console.log ( nums ) ;
//unshift
var m=colors.shift( ) ;
console.log (m);

数组的转换方法:
在这里插入图片描述
在这里插入图片描述

//join
var nums=[2,4,5];
var str=nums.join( ) ;/ / 2,4,5
var words=["border", "left" , "color" ];
//border-left-color
var wordstr=words.join("—") ;
console.log ( wordstr) ;
//reverse
nums .reverse( ) ;
console.log (nums ) ;
var  strs=["a","b","", "d"];
//返回dcba这个字符串
var newstr=strs.reverse () .join ("");
console.log (newstr) ;


数组排序
在这里插入图片描述

var arr=[9,23,15,88,12];
console.log(words.sort());//12,15,23,88,9
//降序 加个比较函数
arr.sort(function(a,b){
    
    return b-a});
console.log(arr);
//升序 加个比较函数
arr.sort(function(a,b){
    
    return a-b});
console.log(arr);

concat()
slice()
在这里插入图片描述

var arr1=["a","b", "c"],
	arr2=["d", "e" , 7,3],
	arr3;

arr3=arr1.concat (arr2,["m" ,99,8]);
console.log (arr3);

在这里插入图片描述
在这里插入图片描述

var colors=[ "red" , "green""blue" , "yellow" , "orange" ] ;
var newColors=colors.slice(1,3) ;
console.log (newColors) ; //green blue
var newColors=colors.slice(-2,4) ;
console.log (newColors) ; //yellow

说明∶
1 . Start和end指的是数组中索引值
2 . 截取从Start和end(不包含该元素)的元素,即从Start和end-1的元素

一个小栗子

//完成以下代码段,实现b数组对a数组的拷贝,方法越多越好
var a=[i, "yes",3],
	b ;
//1数组遍历,push
b=new Array() ;
for(var i=0;i<a.length; i++){
    
    
	b.push(a[i]);
}
//2concat()
b=[].concat(a);
//3slice()
b.slice(0);
//打印出来验证
console.log(b);


splice()方法强大
可以删除,插入,替换数组项
在这里插入图片描述

var arr=["a","b", "c", "d" , "e", "f"];
var delArr=arr.splice( 2,2);
console.log (arr) ;
console.log (delArr) ;

在这里插入图片描述

var arr=["a","b", "c", "d" , "e", "f"];
var insertArr=arr.splice(3,0,"m","n");
console.log(arr);
console.log(inserArr);

在这里插入图片描述

var arr=["a","b", "c", "d" , "e", "f"];
var replaceArr=arr.splice(1,2,"m","n");
console.log(arr);
console.log(replaceArr);

数组实例添加的两个位置方法:
indexOf();
lastIndexOf();
在这里插入图片描述

var arr=["a","b", 7,"c", 7,"d" , "e", "f"];
var pos=arr.indexOf(7);//2
//var pos=arr.indexOf(99);//-1
console.log(pos);
//var pos=arr.lastIndexOf(7);//4

在这里插入图片描述
可以封装一个方法,实现位置函数兼容

//封装—个方法实现indexof的功能
var arr=["a","b", 7,"c", 7,"d",8 , "e", "f"];
function ArrayIndexOf(arr, value) {
    
    
//检测value在arr中出现的位置
	for (var i=0;i<arr.length; i++){
    
    
		if (arr[i]===value) {
    
    
			return i ;
		}
	}
	return -1;
}
var pos2=ArrayIndexOf(arr,8);
console.log (pos2) ;  //6

使用严格相等,值和类型都要相同

js中字符串对象的方法

charAt()
charCodeAt()
indexOf()
lastIndexOf()
在这里插入图片描述
在这里插入图片描述
说明:ECMAScript5中可以使用“方括+索引”来访问字符串中特定的字符,但ie7及更早的浏览器会返回undefined。

var str="hello world";
console.log(str[1]);//但早期浏览器不支持
console.log(str.charAt(1));//则需要用charAt
console.log(str.charAt(15));//取不到则返回空字符串
console.log(str.charCodeAt(1));//则返回e的字符编码

在这里插入图片描述

var email="[email protected]" ;
//检测@在email中出现的位置
console.log ( email.indexOf("e")) ;
console.log ( email.indexOf("rr")) ;//除了可以检测一个,还可以检测两个等等
console.log ( email.LastIndexOf(".")) ;

在这里插入图片描述
字符串的截取方法
slice()
substring()
substr()
在这里插入图片描述
3.当参数为负数时,会将传入的负值与字符串的长度相加

var email="[email protected]";
//
console.log ( email.slice(2,4));//rr
console.log ( email.slice(-3));//com
console.log ( email.slice(-6,-1));//63.co

1.最后一个参数省略时,截取到末尾。
2.参数为负数时,其值为字符串长度+该负数。
3.不包含参数本身在内的

在这里插入图片描述

var str="[email protected]";
console.log ( str.substring(-7,5));// (0,5)
console.log (str.substring(2,-5));// (0,2)

在这里插入图片描述

//str.substring ( 6,9)
console.log ( str.substr ( 6,3)) ;
console.log (str.substr (-54) );//( 6,4)
console.log ( str.substr ( 3,-4) ) ;

综合运用

编写js函数,用于获得输入参数的后缀名,如输入abc.txt返回.txt

//获取扩展名
var url="http: //baidu . com/index .txt" ;
function getFileFormat ( url) {
    
    
//获取.在url中出现的位置
var pos=url.lastIndexOf("." ) ;
return url.substr (pos+1) ;
}
var formatName=getFileFormat (url) ;
var picFormat=getFileFormat ( "1231434.jpg" )
console.log ( formatName ) ;
console.log(picFormat ) ;

split()

在这里插入图片描述

var str='welcome-to-beiiing' ;
//使用split将str转换为数组
var arr=str.split("-") ;
var date='2016/05/05';
//[ " welcome", "to", "beijing" ]
var dateArr=date.split( "/" );
lconsole.log (dateArr) ;
console.log (arr) ;

在这里插入图片描述

//替换
var tel='010-62971268,400-100-9098,010-86789889';
// newTel被替换之后的字符
var newTel=tel.replace ( ',',"  ") ;
console.log (newTel) ;

掌握字符串方法的其他方法:
1、toUpperCase()
2、toLowerCase()
3、将字符串border-left-color转换成borderLeftColor
在这里插入图片描述

var  str="hello world" ;
var upper=str.charAt( 6) .toUpperCase ( ) ;
// console.log ( str.toUpperCase ( ) ) ;
varstr2=""WELCOME";
console.log (str2.toLowerCase ( ) ) ;

在这里插入图片描述

转换为驼峰形式

function camelback(str){
    
    
	var arr=str.split("-"),
		newStr=arr[0],
		len=arr.length;
	for(var i=1;i<len;i++){
    
    //因为第一个单词不需要转换所以改为1
	var word=arr[i];
	newStr+=word.charAt(0).toUpperCase()+word.substr(1); //将每一个单词的首字母转换为大写,连接剩余字符
	//console.log(newStr);
	}
	return newStr;
}
var camelFormat=camelback("border-left-color");
console.log(camelFormat);

总结:
js中内置对象的方法比较多,但熟能生巧,加油吧!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44682019/article/details/108894162
今日推荐