数组对象
属性:
length 数组的长度
数组.length
方法:
数组方法
格式: 数组.方法名称();
1) reverse 颠倒数组中的元素
var arr1 = [78,74,51,23,45];
arr1.reverse()
console.log(arr1.reverse());
2) toString() 数组方法,将数组转为字符串
String 不是数组方法
var arr1 = [78,74,51,23,45];
console.log(arr1.toString());
3) join 将数组拼接成字符串,连接数组中的每一个值
默认情况下是使用","进行拼接
var arr = ['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
var newArr = arr.join('-');
console.log(newArr);
join方法分析的过程
function join(a=','){
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
var str = '';
for(var i=0;i<arr.length;i++){
if(i == arr.length-1){
str += arr[i];
}else{
str += arr[i]+a;
}
}
return str;
}
console.log(join('*'));
4) concat 连接多个数组,返回新数组
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
// var newArr= arr.concat('嵩山','重渡沟');
var newArr = arr.concat(['嵩山','重渡沟'],['嵩山','重渡沟']);
console.log(newArr);
面试题:将多个数组进行拼接?
concat
... 扩展运算符[ES6]
var arr = [1,2,3,6,7,8,9];
var arr2 = [4,5,6];
var arr3 = [...arr,...arr2];
console.log(arr3);
console.log(...arr);
5) 元素添加
push(添加的内容)尾部添加
添加内容的时候不会产生新的数组,返回值是新数组的长度
在原数组身上添加的内容
unshift(添加的内容) 从数组的头部插入内容
添加内容的时候不会产生新的数组,返回值是新数组的长度
在原数组身上添加的内容
var arr=['云南','九寨沟','拉萨'];
console.log(arr.push('嵩山'));
console.log(arr.unshift('重渡沟'));
console.log(arr);
6) 删除数组数据
shift() 头部删除
pop()尾部删除
添加内容的时候不会产生新的数组,返回值是被删除的内容本身
在原数组身上添加的内容
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
console.log(arr.shift());;
console.log(arr.pop());;
console.log(arr);
7) splice(下标,删除的数量,添加的内容) 添加或者修改或者删除
// 删除:返回值被删除的内容
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
console.log(arr.splice(3,1));
console.log(arr);
// 修改:返回值被删除的内容
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
console.log(arr.splice(3,1,'嵩山'));
console.log(arr);
// 添加:返回值被删除的内容
添加的时候,需要把删除这个字段设置为0
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
console.log(arr.splice(3,0,'嵩山','华山'));
console.log(arr);
8) 排序sort
var arr = [8,5,34,23,7];
var newArr = arr.sort(function(a,b){
return a - b; // 升序
});
var newArr = arr.sort(function(f,e){
return e - f; // 降序
});
console.log(newArr);
9)查找元素在数组中的位置
array.indexOf(item,start)
返回元素在数组中的位置,若没检索到,则返回 -1。
参数 描述
item 必须。查找的元素
start 可选。规定检索的位置,它的合法取值是 0 到 stringObject.length - 1。
字符串
字符串其实是一个特殊的数组,可以使用数组的下标获取其中某一个值,但是不能更改
// var str = new String('12345678');
var str = 'hello';
for(var i=0;i<str.length;i++){
console.log(str[i]);
}
属性:
length 长度
方法:
1) indexOf(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置
出现:返回下标
没有出现:返回的是-1
var str = 'afgdtywgbfnjekagrn';
// console.log(str.indexOf('a'));
// console.log(str.indexOf('a',1));
console.log(str.indexOf('a',15));
// 案例:查找'afgdtywgbfnjekagrn'中,出现了多少次a,分别在什么位置
function find(str,findcount){
var index = str.indexOf(findcount); // 0
var count = 0;
var indexArr = [];
// while( index >= 0){
while( index != -1){
count++;
indexArr.push(index);
index = str.indexOf(findcount,index+1);
}
// 返回多个值的时候,既可以是数组,也可以是对象
return {"count":count,"indexArr":indexArr};
}
console.log(find('afgdtywgbfnjekagrn','a'));
2) lastIndexOf('被查找的内容','倒着数的位置') 返回某个子字符串在字符串中最后一次出现的位置
var str = 'afgdtywgbfnjekagrn';
// console.log(str.lastIndexOf('a'));
console.log(str.lastIndexOf('a',5));
// 需求:上传图片,后缀名 png或者是jpg,如何判断文件的后缀名
var url = "http://www.image.con/img/one.exe";
// console.log();
console.log();
var exe = url.substr(url.lastIndexOf('.')+1);
if(exe == 'png' || exe=="jpg"){
console.log('格式正确');
}else{
console.log('格式bu正确');
}
3) 字符串的截取
slice(start,end) 获取字符串的某个部分
包含start
不包含end,end没有参数值,默认截取到末尾
var str = 'hello wolrd';
// console.log(str.slice(6,11));
// console.log(str.slice(6,str.length));
// console.log(str.slice(6));
// console.log(str.slice(0,-6));
// 案例:使用slice和定时器,实现内容的输出
var str = '我的名字叫张三,我今年十三岁了,(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置';
var oBox = document.querySelector('#box');
var i = 0;
function show(){
if(i<str.length){
oBox.innerHTML += str.slice(i,++i); // 方法一
// oBox.innerHTML += str.charAt(i++); // 方法二
setTimeout(show,100);
}
}
show();
4) substr(start,length) 按照长度截取
没有length,默认截取到末尾
var str = 'hello wolrd';
console.log(str.substr(6));
console.log(str.substr(6,5));
var str = '我的名字叫张三,我今年十三岁了,(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置';
var oBox = document.querySelector('#box');
var i = 0;
function show(){
if(i<str.length){
oBox.innerHTML = str.substr(0,++i); // 方法二
setTimeout(show,100);
}
}
show();
5) substring(起始位置,[结束位置])
substring 跟 slice一样的
6)替换
replace('想要替换的内容','替换成什么')
想要替换的内容:
可以直接写成字符串: ""
可以写成正则表达式: /正则表达式/g
1)默认只能替换第一个apple
*/
// var str='My name is apple. So I like to eat apple very much!';
// var str = "my-name-is-张三";
// var newStr = str.replace('apple','banana');
// 使用正则替换多个apple
// var newStr = str.replace(/apple/g,'banana');
// var newStr = str.replace(/-/g,"*")
// console.log(newStr);
/*----------------------------------*/
// var arr = ['张三','李四','王五'];
// var str = arr.join();
// var newStr = str.replace(/,/g,'*');
// console.log(newStr);
/*----------------------------------*/
// var str = "My1name2is3apple4!My6name7is8apple9!";
// var newstr = str.replace('1',' ').replace('2',' ').replace('3',' ').replace('4',' ');
// var newstr = str.replace(/[0-9]/g,' ');
// var newstr = str.replace(/\d/g,' ');
// console.log(newstr);
/*----------------------------------*/
// var str = '张三w李四F王五n马六';
// var newstr = str.replace(/[a-zA-Z]/g,' ');
// var newstr = str.replace(/[A-Z]/ig,' ');
// console.log(newstr);
7)charAt(n) 索引
var str1 = 'helloworld';
var getStr1 = str1.charAt(1);//返回字符串中下标为1的值
var getStr1 = str1.charCodeAt(0);//返回索引对应字符的ASCII值
console.log(getStr1);
8) 转换大小写
toLowerCase() 小写
toUpperCase() 大写
var str1 = 'HelloWorld';
var getStr1 = str1.toLowerCase(1);
var getStr1 = str1.toUpperCase(1);
console.log(getStr1);
*/
/* 输入字母自动转为大写-----------------------------*/
// var inp = document.querySelector('#inp');
// onkeyup 键盘弹起事件 onkeydown 键盘按下事件
// inp.onkeyup = function(){
// console.log(inp.value.toUpperCase());
// inp.value = inp.value.toUpperCase()
// }
9) split(字符串/正则) 分割,将字符串分割成数组
var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
var str = arr.join();
console.log(str.split(','));
var classname = "my-fun-move"; // myFunMove
// 1. 将字符串,按照-进行分割,分割成数组
var arr = classname.split('-');
// 2. 遍历数组中除了第一个以外的所有值
for(var i=1;i<arr.length;i++){
// 3. 第一个字母转为大写; 遍历出来的字符串的第一位使用replace替换成大写;
var newStr = arr[i].replace(arr[i][0],arr[i][0].toUpperCase());
// 4. 用转换好的字符串,替换原来的内容
arr[i] = newStr;
}
// 5. 将数组使用空转为字符串
console.log(arr.join(''));
10)
var str = 'hellowolr';
document.write(str.bold().fontcolor('#f00').italics().fontsize(7));
document.write(str.link('http://www.baidu.com'))