前端学习(十七)js数组(笔记)
数组:
1.
var arr=[1,2,3,4];
2.
var arr=new Array(1,2,3,4,5);
区别:
1.写法不一样,选择第一种(好写)
2.选择第一种!
----------------------------------
关于数组方法:
1.push(要添加的值);往里添加一个!
var arr=[1,2,3,4]
arr.push(888);
默认是往后面添加一个!
--------------------------------------
2.unshift(要添加的值);默认往前面添加一个!
--------------------------------------
3.pop()--默认从后面删除一个!
--------------------------------------
4.shift()--默认从前面删除一个!
-------------------------------------
5.咱从中间添加或者删除,替换!
万能操作!
splice(,,,,)
删除:
arr.splice(开始下标,删除个数);
var arr=[1,2,3,4,5,6,7];
arr.splice(1,2);---1,4,5,6,7
alert(arr);
添加:
arr.splice(开始的下标,删除0个,要添加的项1,要添加的项2,....);
var arr=[1,2,3,4,5,6,7];
arr.splice(2,0,'a','b','c');
alert(arr);
--------------------------------------------
替换:
删除几个,就添加几个!!!
var arr=[1,2,3,4,5,6,7];
arr.splice(2,3,'a','b','c');
alert(arr);
-----------------------------
模拟push
var arr=[1,2,5,6,7];
arr.splice(arr.length,0,8);
alert(arr);
pop
var arr=[1,2,5,6,7,8,9];
arr.splice(arr.length-1,1);
alert(arr);
==================================================
6.
var str='welcome to beijing'
str.split(' ');----['welcome','to','beijing'];
join:拼接 得到字符串!
var arr=['welcome','to','beijing'];
arr.join(' ');----'welcome to beijing';
==============================================
题:
var str='welcome to beijing';
--》'Welcome To Beijing';
思考步骤:
1.str切分一下
var arr=str.split(' ');
['welcome','to','beijing']
2.循环得到每个的大写字母
for(i=0;i<arr.length;i++){
var n=arr[i].charAt(0).toUpperCase();
alert(n);--w t b
}
3.循环得到每个没有手写字母的字符串!
elcome o eijing
===========================================
7.数组链接
var arr=[1,2,4];
var arr1=[6,7,8];
alert(arr.concat(arr1));
链接多个
var arr=[1,2,4];
var arr1=[6,7,8];
var arr2=[56,57,58];
alert(arr.concat(arr1,arr2));
--------------------------------------------
8.数组的翻转arr.reverse()
var arr=[1,2,3,4,5];
--5,4,3,2,1
var arr=[1,2,3,4,5];
alert(arr.reverse());
------------------------------------------
9.排序:
var arr=['banana','apple','color','width'];
arr.sort();
alert(arr);
注意:它是按照字典序来排序(小到大)
----------------------------------
var arr=[123,4,56,88,34,0,-56];
var arr=[123,4,56,88,34,0,-56];
arr.sort();
alert(arr);
也是呢按照字典序排序!
目的:
----按照数字大小排序
var arr=[123,4,56,88,34,0,-56];
arr.sort(function(n1,n2){
return n1-n2;
});
alert(arr);
注意:n1-n2 小到大
n2-n1 大到小
==================================================
特性:
arr.length可以赋值!
清空数组:
1.arr.length=0;
2.arr=[];
3.arr.splice(0,arr.length)
4.while(arr.length){
arr.pop();
}
***字符串的length不能赋值!!!!
--------------------------------------------------
json
写法:
var json={name:value,name1:value1,....}
json.name
json和数组的区别:
json:
1.无序
2.没有length;
3.下标字符串
4.for in
5.添加一项json.youbian='000000';
6.删除
数组:
1.有序
2.有length
3.下标数字
4.普通for循环
5.添加方式arr.push
6.删除
json循环:
var json={age:15,name:'张三',adrs:'北京'};
for(var name in json){
alert(json[name]);
}
注意:
1.虽然for in循环数组可以用,但是for in 性能没有普通for循环好!所以说平时用普通for,不到万不得已不用for in! 遇到json就是万不得已!必须用for in!
2.alert(json)--alert不足以把json打印出来,它只是弹出json类型!
json专用打印方法:console.log(json);
-------------
============================================
设置样式:
1.行间样式
obj.style.width="100px"
oBox.style.cssText='width:100px;height:100px;background:red;';
2.className
3.json
==================================================
1.实参数组arguments
function show(){
var res=0;
for(var i=0;i<arguments.length;i++){
res+=arguments[i];
}
alert(res);
//var arguments=[1,2,3,4,5]
}
show(1,2,3,4,5);//实际运用的参数:实
================================================
获取元素方式:
1.id--获取一个
2.标签名(tagname)---获取一组
3.class名(className)---获取一组
var str='redvfrvervbr'
str.indexOf(d)!=-1