JS数组、字符串(方法的相关操作)

1、数组(11种方法)

(1)、length 长度

(2)、push 末尾添加

(3)、pop 末尾删除

(4)、unshift 首位添加

(5)、shift 首位删除

(6)、concat 合并

(7)、clice 切片

(8)、splice 增加、删除、替换

(9)、reverse 反转

(10)、sort 排序

(11)、join 转字符串拼接

数组的相关操作

数组各项可以是任意数据类型

取值时超出索引值时返回undefined,没有的项值就是undefined

声明数组的时候是没有严格规定长度的

/* 
    []取值
*/
var arr = [function(){},"楠楠",12];
console.log(arr[8]);//undefined

数组的方法和属性

/*
数组的属性:
    1、length
数组的方法:
    2、push() --在末尾添加
    3、pop()  --删除最后一项,并且返回删除的最后一项
    
    4、unshift  --在数组的第0项添加一个或多个
    5、shift    --删除第0项,并返回删除的那一项
    
    6、concat  --合并两个数组,返回一个新的数组
*/
var arr = [function(){console.log('楠楠')},'SDK',12];
arr.push('九九','流浪');
console.log(arr.pop());//流浪
​
arr.unshift('开课','嗯嗯');
console.log(arr);//[ "开课", "嗯嗯", arr(), "SDK", 12 ]
console.log(arr.shift());//开课
​
var arr2 = [1,2,3];
var arr3 = arr.concat(arr2);
console.log(arr3);//["嗯嗯", function (){console.log('楠楠')}, "SDK", 12, "九九", 1, 2, 3]

旋转木马轮播图的原理

arr.unshift(arr.pop());//删除最后一项,添加到第一张
arr.push(arr.shift());//删除第一项,添加到最后一项

截取数组(返回一个新的数组)

/*
    7、arr.slice(start,end)  截取数组 slice(切片)
​
    8、splice()多功能添加,删除、替换 改变数组
    一个参数的时候,就是从多少项开始删除后面的所有项
    二个参数,第一个参数是从多少项开始删除,第二个参数是删除多少项
    三个参数,第三个参数是之前删除项的替换项
*/
​
/* slice 切片 左开右闭 */
var arr = [ "开课", "嗯嗯", 23, "SDK", 12 ];
console.log(arr.slice(0,3));// [ "开课", "嗯嗯", 23]
​
/*splice*/
var arr = [ "开课", "嗯嗯", 23, "SDK", 12 ]
arr.splice(1);
console.log(arr);//['开课']
​
var arr2 = [ "开课", "嗯嗯", 23, "SDK", 12 ]
arr2.splice(1,2);
console.log(arr2);//[ "开课", "SDK", 12 ]
​
var arr3 = [ "开课", "嗯嗯", 23, "SDK", 12 ];
arr3.splice(1,2,'九九');
console.log(arr3);// [ "开课",'九九', "SDK", 12 ]
/*
9、reverse() 逆序 数组倒置
​
10、sort() 数组排序,默认按字符编码排序(主要用来数字排序)
如果正序:a>b return 1;a<b return -1;
如果反序:a>b return -1;a<b return 1;
​
11、join  数组转换成字符串拼接(就是把数组转换成字符串)
*/
/* reverse */
var arr = [ "开课", "嗯嗯", 23, "SDK", 12 ];
console.log(arr.reverse());//[ 12, "SDK", 23, "嗯嗯", "开课" ]
​
/* sort 数字的排序 */
var arr1 = [2,1,3,5,4,3,11,2,33,11.1];
arr1.sort(function(a,b){//正序,反序的话就反过来就好了
    if(a>b) return 1;
    else if(a<b) return -1;
    else return 0;
});
console.log(arr1);
​
/* join */
var arr2 = ['Hello','JavaScript'];
var str = arr2.join('-');
console.log(str);//Hello-JavaScript

 

2、字符串(8种方法)

(1)length 长度

(2)concat 合并

(3)indexOf 检测首个,返回索引值

(4)replace 替换

(5)split 转换成数组

(6)substr 切割

(7)substring 切割

(8)slice 切片

 

字符串的属性方法

在JS里面没有字符,只有字符串

1、在字符串里面一个空格也是一个字符

2、也可以通过下标获取元素

var str = '我的从v个1';
console.log(str.length);
console.log(str[0]);//兼容IE8以上
console.log(str.charAt[0]);//兼容所有浏览器
​
/* 1、concat 合并字符串 */
var str2 = '楠楠';
var str3 = '我爱你!';
var str4 = str2.concat(str3);
console.log(str4);//楠楠我爱你!
​
/* 
    2、indexOf 返回检测某个字符首次出现的位置 
        没有检测到返回-1 
        第二个参数表示从什么位置开始检测*/
var str = '为什么中文不能用来编程呢?';
console.log(str.indexOf('文',0));//4
​
​
/* 案例--检测字符串里一共有多少个要查找的内容 */
var arr = '编程语言,就是要拿来编程才有意思';
for(var i=0;i<arr.length;i=a+1){ //这里也可以写i++,但是会出现重复的现象,固然a+1就不会重复检测过得
    var a = arr.indexOf('编程',i);
    if(a == -1) break
    else console.log(a);// 0 10
}


/*
	3、replace(a,b):替换,将第一个目标字符替换成第二个参数的字符
	替换后返回新的字符串
	
	4、split():分割,把字符串转为数组,按照转入的参数来拆开,
	如果传入空格,那么每个字符都会被拆来,然后返回一个数组
	
	5、substr:截取字符串 第一个参数是起始位置,第二个参数是截取的个数
			
	6、substring:截取字符串 第一个参数是起始位置,第二个参数是截取的个数
			当参数为复数时,就转为0;
	
	7、slice(start,end):也是截取字符串 左开右闭 ,当起始位置为-1时,就倒着数
*/
/* replace */
var str = 'abcda';
var str2 = str.replace('a','j');
console.log(str2);//jbcda

/* split */
var str = '哈哈 开课 楠楠';
var arr = str.split(' ');
console.log(arr);//['哈哈','开课','楠楠']

/* substr */
var str = '我是华为会欧尼';
var str2 = str.substr(5,2);
console.log(str2);//欧尼

/* substring */
var str = '我是华为会欧尼';
console.log(str.substring(-1,2));//我是

/* slice */
var str = '我是华为会欧尼';
console.log(str.slice(-5,4));//华为

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒险岛_0_

您的打赏是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值