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));//华为