字符串的一些方法
- toUpperCase()字符串转换为大写
var name='hello world';
console.log(name.toUpperCase());
- tolowerCase()字符串转化为小写
var name='HELLO WORLD';
console.log(name.toLowerCase());
- indexOf()搜索指定字符出现的位置
var name='HELLO WORLD';
console.log(name.indexOf('O'));
- substring(x,y)获得指定区间的子串
var name='HELLO WORLD';
console.log(name.substring(6));//WORLD
console.log(name.substring(1, 3))//EL
数组的一些方法
- length():获得数据的长度
var arr = [1,5,6,7,7,'helloworld'];
console.log(arr.length)//6
- 通过数组中的下标改变值
var arr = [1,5,6,7,7,'helloworld'];
arr[1] = 788989;
console.log(arr)
- indexOf():获得数组中第一次出现的位置(没有找到返回-1)
var arr = [1,5,6,7,7,'helloworld'];
console.log(arr.indexOf(7));//3
- slice():slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array
无参数时可实现对数组的复制功能
var arr = [1,5,6,7,7,'helloworld'];
console.log(arr.slice(0, 2));//[1, 5]
console.log(arr.slice());//[1, 5, 6, 7, 7, "helloworld"]
console.log(arr.slice(4,6));//[7, "helloworld"]
- push和pop:类似于JAVA中栈的结构
-
在数组的尾部添加数据
var arr = [1, 2];
arr.push('A', 'B'); // 返回Array新的长度: 4
arr; // [1, 2, 'A', 'B']
arr.pop(); // pop()返回'B'
arr; // [1, 2, 'A']
arr.pop(); arr.pop(); arr.pop(); // 连续pop 3次
arr; // []
arr.pop(); // 空数组继续pop不会报错,而是返回undefined
arr; // []
- unshift和shift()方法
前者是在数组第一位 添加数据,后者是删除第一位的数据
var name = [1,3];
console.log(name.unshift('2'));
- sort():对数组中的数据进行排序
var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];
arr.sort() ;
console.log(arr);//[1, 1, 2, 2, 2, 2, 3, 3, 3, 6, 6, 6, 6, 7, 7, 7, 7, 7]
- reverse():将数组中的数据进行翻转
var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];
arr.reverse() ;
console.log(arr);//[7, 2, 7, 6, 1, 3, 6, 2, 7, 6, 2, 3, 7, 7, 6, 2, 3, 1]
- splice(x,y,‘A’,‘B’):索引x开始删除y个元素,然后再添加两个元素:
var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];
arr.splice(2, 3, '軟件技術');//删除并添加
console.log(arr);
arr.splice(2, 2);//删除两位数据
console.log(arr);
console.log(arr.splice(2,0,'華為','中國'));//不删除,只添加
- concat():连接两个数组
var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];
var arr1 = arr.concat(['A','B','C','E']);
console.log(arr1);//[1, 3, 2, 6, 7, 7, 3, 2, 6, 7, 2, 6, 3, 1, 6, 7, 2, 7, "A", "B", "C", "E"]
concat()并没有修改当前的数组,返回了一个新的数组
- join()通过制定字符连接数组中的每一个元素
var arr = [1,3,2,6,7,7,3,2,6,7,2,6,3,1,6,7,2,7];
console.log(arr.join('-'));//1-3-2-6-7-7-3-2-6-7-2-6-3-1-6-7-2-7
取出多维数组中的数字500
var arr = [[1, 2, 3], [400, 500, 600], '-'];
console.log(arr[1][1]);
对象
访问不存在的属性返回undefined
var longhaicheng = {
name:'longhaicheng',
age:21,
birth:1996-12-10,
'number':'185cm'
};
console.log(longhaicheng.name);//longhaicheng
console.log(longhaicheng['number']);//185cm
console.log(longhaicheng.password);//undefined
- 添加属性
var longhaicheng = {
name:'longhaicheng',
age:21,
birth:1996-12-10,
'number':'185cm'
};
longhaicheng.pwd=21212;
console.log(longhaicheng);//{name: "longhaicheng", age: 21, birth: 1974, number: "185cm", pwd: 21212}
- 删除属性
var longhaicheng = {
name:'longhaicheng',
age:21,
birth:1996-12-10,
'number':'185cm'
};
delete longhaicheng.age;
console.log(longhaicheng);//{name: "longhaicheng", birth: 1974, number: "185cm"}
- 判断是否存在指定的属性
使用in判断是否存在属性时,包括继承而来的属性
var longhaicheng = {
name:'longhaicheng',
age:21,
birth:1996-12-10,
'number':'185cm'
};
console.log('name' in longhaicheng);//true
console.log('data' in longhaicheng);//false
要判断一个属性是否是该对像私有的,使用hasOwnProperty()方法
console.log(longhaicheng.hasOwnProperty('name'));//true
console.log(longhaicheng.hasOwnProperty('id'));//false
条件判断
Javascript中null、undefined、0、NaN和空字符串’'视为falsw,其他值一概视为true
循环
- for…in循环
for循环的一个变体是for … in循环,它可以把一个对象的所有属性依次循环出来
var longhaicheng = {
name:'longhaicheng',
age:21,
birth:1996-12-10,
'number':'185cm'
};
for (var key in longhaicheng) {
console.log(key);
}name,age,birth,number
要过滤掉对象继承的属性,用hasOwnProperty()来实现:
var o = {
name: 'Jack',
age: 20,
city: 'Beijing'
};
for (var key in o) {
if (o.hasOwnProperty(key)) {
console.log(key); // 'name', 'age', 'city'
}
}
- foreach()循环
var arr = ['Bart', 'Lisa', 'Adam'];
arr.forEach( function(item) {
console.log('hello '+item)
});
Map和Set
Map是一组键值对的结构,具有极快的查找速度,,且一个key只对应一个value
- Map的初始换及数据的添加
var map = new Map([['数学',100],['语文',100],['体育',90]]);
console.log(map.get('数学'));
var map = new Map();
map.set('name','张三');
map.set('pwd',31231);
alert(map.get('name'));
var map = new Map();
map.set('name','张三');//添加
map.set('pwd',31231);//添加
map.has('name');//判断是否存在
map.delete('name');//删除
console.log(map.get('name'));//获取