js数组和字符串方法
一.数组方法
1.1.可以改变原数组
var arr = [10, 20, 30, 40, 50, 55];
// 1. **** push() --- 在数组的最后添加一项内容
// var ret = arr.push("60");
// 返回值是添加之后的数组长度(一般不用)
// 2. pop() --- 在数组的最后删除一项内容
// var ret = arr.pop();
// 返回值是删除项
// 3. unshift() --- 在数组的前面添加一项内容
// var ret = arr.unshift("66");
// 返回值是添加之后的数组长度(一般不用)
// 4.shift() --- 在数组的前面删除一项内容
// var ret = arr.shift();
// 返回值是删除项
// 5. reverse()------翻转原数组
// var ret = arr.reverse();
// 返回值是翻转后的数组
// 6. splice(index,n,参数1,参数2) -------- 切割/删除/添加 数组
/*
index 起始索引
n 个数
参数1,参数2 添加到数组中的内容
*/
// 6.1 删除数组中的项(只传一个参数)
// 功能: 从索引index开始,到结尾 全部删除掉
// 返回值: 删除的内容
// var ret = arr.splice(1);
// 6.2 ****** 清空数组
// var ret = arr.splice(0);
// 6.3 ****** 切割数组 (传两个参数)
// 返回值是 从index开始切割n个字符
// 改变了原数组,原数组删除了这些内容
// var ret = arr.splice(2, 2);
// 6.4 删除之后,添加数组的项-----操作原数组
// 返回值是 从index开始切割n个字符
// var ret = arr.splice(2, 2, 300, 400, 500);
1.2.不改变原数组
var arr = [10, 20, 30, 40, 50, 10];
// 1. slice(start,end) 从索引start 开始 切割到索引end 切割数组的
// var ret = arr.slice(2, arr.length);
// 2. indexOf(第一个出现的字符) 获取索引
// var ret = arr.indexOf(10);
// ******* 注意点: 如果找不到这个元素,会得到-1
// 实现功能:检测数组中有没有这个元素
// var ret = arr.indexOf(100);
// 3. join("字符") 数组转字符串通过某个**字符**链接
// var ret = arr.join(" ");
// 4. 一组方法(难)------遍历数组
var arr1 = [
{ name: "张三", score: 50 },
{ name: "李四", score: 80 },
{ name: "王麻子", score: 100 }
]
// 4.1 ******* forEach 遍历数组(取代for循环遍历数组) 没有返回值
// arr1.forEach(function (item, index) {
// // item 数组中的项 index 索引
// console.log(item, index);
// });
// 4.2 ***** map 遍历数组 有返回值-------每次返回的结果打包成数组 整体返回
// 重点,现阶段有点难
/* var ret = arr1.map(function (item, index) {
// item 数组中的项 index 索引
console.log(item, index);
// 内部手动return
return item.name;
}); */
// 4.3 **** filter 遍历数组(过滤器) 有返回值-------return后面是一个表达式, 过滤有效数据 整体返回
// 重点,现阶段有点难
var ret = arr1.filter(function (item, index) {
// item 数组中的项 index 索引
console.log(item, index);
// 内部手动return
return item.score > 60;
});
console.log(ret);
二.字符串方法
// 1. ******* split() 字符串切割并转数组
/* var str1 = "1,2,3,4";
var arr = str1.split(",");
console.log(arr); */
// 2. charAt 获取字符
/* var str = "张三是一个法外狂徒";
// 字符串顶天了叫他伪数组
// console.log(str[0]);
// console.log(str.length);
var ret = str.charAt(1);
console.log(ret);
console.log(str[1]); */
// 3. ****** indexOf()------ 和数组的使用,一模一样
// 用来判断字符串中有没有这个字符
/* var str = "张三是一个法外狂徒";
var ret = str.indexOf("s");
console.log(ret); */
// 4. substring(start,end)------- 从索引start 开始 切割到索引end 截取 字符串
/* var str = "张三是一个法外狂徒";
var ret = str.substring(1, 4);
console.log(ret); */
// 5. substr(index,n)------- 从索引start 开始 切割n个字符 截取 字符串
/* var str = "张三是一个法外狂徒";
var ret = str.substr(2, 7);
console.log(ret); */
// 6. ***** replace(old,new)-------- 使用新字符替换老字符
var str = "张三是一个法外狂徒";
var ret = str.replace("张三", "李四");
console.log(ret);