目录
替换字符串 replace(‘被替换的字符’,‘替换为的字符’)
创建数组两种方式
- var arr = new Arrar(); [利用new关键字创建
- var arr = [ ];
求数组中的最大值
<script>
var arr = [1, 2, 7, 4, 6];
var max = arr[0];
for (i = 1; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
alert(max);
</script>
新增数组元素
- arr[ 索引] = " " ; (如果索引是当前数组有的就修改,没有的就追加)
通过循环追加给空数组赋值
var arr = [];
for (i = 0; i < 10; i++) {
arr[i] = i + 1;
}
console.log(arr);
把旧数组大于10的元素放到新数组里
<script>
var arr = [1, 5, 7, 88, 55];
var arr1 = [];
for (i = 0; i < arr.length; i++) {
if (arr[i] > 10) {
arr1[arr1.length] = arr[i];
}
}
console.log(arr1);
</script>
数组翻转
<script>
var arr = [1, 5, 7, 88, 55];
var newArr = [];
for (i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
console.log(newArr);
</script>
检测是否为数组
- instanceof
-
Array.isArray(参数) ie9以上支持
var arr = []; var obj = {}; console.log(obj instanceof Array); //false console.log(Array.isArray(arr)); //true
添加删除数组元素的方法
var arr = [1, 2, 3];
console.log(arr.push(4, "pink"));
console.log(arr.pop());
方法名 说明 返回值 push(参数1...) 末尾添加一个或多个元素 并返回新数组长度 pop() 删除数组最后一个元素,把数组长度减1,一次只能删一个 返回删除元素的值 unshift(参数1...) 向数组的开头添加一个或多个元素 返回新的长度 shift() 删除数组的第一个元素,数组长度减1无参数,修改原数组 并返回第一个元素的值 数组排序
方法名 说明 是否修改原数组 reverse() 颠倒数组中元素的顺序 该方法会改变原来的数组,返回新的数组 sort() 对数组的元素进行排序 该方法会改变原来的数组,返回新的数组 var arr = [15, 120, 21, 170]; arr.reverse(); var arr1 = [13, 4, 76, 9]; arr1.sort(function (a, b) { return a - b; //return b - a; //降序 }); console.log(arr1);
查找数组中元素索引
str.indexOf 完整用法('要查找的字符',[起始位置的索引] )
方法名 说明 返回值 indexOf() 数组中查找给定元素的第一个索引(数组中可能存在重复的元素) 存在返回索引号,不存在则返回-1 lastIndexOf() 数组中查找给定元素的最后一个索引 存在返回索引号,不存在则返回-1 数组去重
遍历旧数组(需要去重的数组),然后拿着旧数组元素去查询新数组,如果该元素在新数组里没有出现过,就添加,否则不添加。
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var arr = unique([15, 120, 21, 15, 15]);
console.log(arr);
数组转换成字符串
方法名 | 说明 | 返回值 |
toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符串 |
join('分隔符‘) | 把数组中的所有元素转换为一个字符串 | 返回一个字符串 |
数组元素的连接、截取和删除
方法名 | 说明 | 返回值 |
concat() | 连接两个或多个数组,不影响原数组 | 返回一个新数组 |
slice | 数组截取slice(begin,end) | 返回被截取的数组 |
splice() | 数组删除splice(第几个开始,要删除个数) | 返回被删除后的新数组,这个会影响新数组 |
查字符串中同一个字母出现的索引和次数
var str = "abcodefgohijklmnopqrstuovwxyzo";
var index = str.indexOf("o");
var num = 0;
while (index !== -1) {
console.log(index);
num++;
index = str.indexOf("o", index + 1);
}
console.log("0出现的次数是:" + num + "次");
根据位置返回字符(重点)
方法名 | 说明 | 使用 |
charAt(index) | 返回指定位置的字符(index字符串的索引号) | str.charAt(0) |
charCodeAt(index) | 获取指定位置处字符的ASCII码(index索引号) | str.charCodeAt(0) |
str[index] | 获取指定位置处字符 | HTML5,IE8+支持和charAt()等效 |
案例:
判断一个字符串‘abcoefoxyozzopp’中出现次数最多的字符,并统计其次数
var str = "abcoefoxyozzopp";
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i);
if (o[chars]) {
// c[chars]返回的是属性值
o[chars]++;
} else {
o[chars] = 1;
}
}
console.log(o);
var max = 0;
var ch = "";
for (var k in o) {
//k得到的是 属性名
//o[k] 得到的是属性值
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log(max);
console.log("最多的字符是" + ch);
字符串操截取和连接(重点)
方法名 | 说明 |
concat(str1,str2,str3 | concat()方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用 |
substr(start,length) | 从start位置开始(索引),length取得个数 |
slice(start,end) | 从start位置开始,截取到end位置,end取不到 |
substring(start,end) | 从start位置开始,截取到end位置,end取不到 基本和slice相同,但不接受负值 |
替换字符串 replace(‘被替换的字符’,‘替换为的字符’)
只会替换第一个字符,替换所有用循环
var str = "abaasdffgghhjjkkgfddssss344343";
while (str.indexOf("g") !== -1) {
var str = str.replace("g", "22");
}
console.log(str);