<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// slice 原数组没变 返回值是一个新数组
//切片操作,也就是取数组中的部分值 arr.slice(2, 4);
var arr1 = ["苹果" , "梨子", "橙子", "葡萄", "樱桃", "芒果"]
newArr1 = arr1.slice(1, 4)
console.log(newArr1);// (3) ['梨子', '橙子', '葡萄']
console.log(arr1.slice(1, 4));// (3) ['梨子', '橙子', '葡萄']
console.log(arr1);// (6) ['苹果', '梨子', '橙子', '葡萄', '樱桃', '芒果']
//unshift 原数组增长 返回值是加入数组后的长度
//在数组的头部增加新的元素 数组名.unshift(待添加项);
var arr2 = ["苹果", "梨子", "橙子", "葡萄", "樱桃", "芒果"];
newArr2 = arr2.unshift("香蕉 ")
console.log(newArr2);// 7
console.log(arr2.unshift("香蕉"));// 8
console.log(arr2);// ['香蕉', '香蕉 ', '苹果', '梨子', '橙子', '葡萄', '樱桃', '芒果']
//shift 原数组缩短 返回值是被删除的元素的名字
//删除数组的首元素 数组名.shift();
var arr3 = ["苹果", "梨子", "橙子", "葡萄", "樱桃", "芒果"];
newArr3 = arr3.shift();
console.log(newArr3);// 苹果
console.log(arr3.shift());// 梨子
console.log(arr3);// 4) ['橙子', '葡萄', '樱桃', '芒果']
//sort 数组改变为从小到大排序 返回值是排序完之后的数组
//数组中的元素从小到大进行排序 数组名.sort();
var arr4 = [2, 3, 4, 8, 1];
newArr4 = arr4.sort()
console.log(newArr4);// (5) [1, 2, 3, 4, 8]
console.log(arr4.sort());// (5) [1, 2, 3, 4, 8]
console.log(arr4);// (5) [1, 2, 3, 4, 8]
//reverse 数组逆序 返回值为逆序后的数组
//将数组中的元素进行逆序排列 数组名.reverse();
var arr5 = ["一", "二", "三", "四"];
newArr5 = arr5.reverse()
console.log(newArr5);// (4) ['四', '三', '二', '一']
console.log(arr5.reverse());// (4) ['一', '三', '二', '四']
arr5.reverse()
console.log(arr5);// (4) ['四', '三', '二', '一']
//join 把数组转换为字符串,并返回字符串
//将数组中的字符拼接成字符串 数值名.join();
var arr6 = ["H", "e", "l", "l", "o"];
// newArr6 = arr6.join("")
// console.log(newArr6);// Hello
console.log(arr6.join(""));//Hello
//concat 拼接数组返回拼接之后的字符串
//将两个数组拼接在一起 数组1.concat(数组2);
var arr7 = ["柠檬", "苹果", "草莓"];
var arr8 = ["葡萄", "西瓜", "柚子"];
console.log(arr7.concat(arr8));// (6) ['柠檬', '苹果', '草莓', '葡萄', '西瓜', '柚子']
//includes
//判断该数组中是否包含某个元素 数组.includes(元素);
var arr9 = ["柠檬", "苹果", "草莓"];
console.log(arr9.includes("草莓"));//true
console.log("水果清单里有西瓜吗?" + arr9.includes("西瓜"));//水果清单里有西瓜吗?false
console.log("水果清单里有苹果吗?" + arr9.includes("苹果"));/// 水果清单里有苹果吗?true
//toString 返回转换后的字符串
//将数组中的值转换成字符串类型 数组名.toString();
var arr10 = ["Hello", "string"];
console.log("arr10 的类型为 " + typeof arr10 + "<br>");//arr10 的类型为 object
console.log(arr10.toString());//Hello,string
console.log("arr10.toString() 的类型为 " + typeof arr10.toString());//arr10.toString() 的类型为 string
//indexof 返回下标值
//查找指定元素的下标值 arr.indexOf(元素);
var arr11 = ["梨子", "西瓜", "梨子", "葡萄", "柚子"];
console.log(arr11.indexOf("梨子"));// 0
console.log("返回梨子的索引:" + arr11.indexOf("梨子"));//返回梨子的索引:0
console.log("返回樱桃的索引:" + arr11.indexOf("樱桃"));//返回樱桃的索引:-1
//lenght
//获取字符串的长度与获取数组的长度是一样的,都是使用 length
var arr12 = ["苹果", "梨子", "橙子", "葡萄", "樱桃", "芒果"];
console.log("数组的长度为 " + arr12.length);// 数组的长度为 6
var str1 = "HelloJavaScript";
console.log("str1 字符串的长度为 " + str1.length);// str1 字符串的长度为 15
//toLowerCase
//把字符串的大写字母转换成小写字母 字符串.toLowerCase();
var str2 = "HelloJavaScript";
console.log(str2.toLowerCase());// hellojavascript
//toUpperCase
//把字符串中的小写字母转换成大写字母 字符串.toUpperCase();
var str3 = "HelloJavaScript";
console.log(str3.toUpperCase());// HELLOJAVASCRIPT
//charAt() 返回指定下标对应的字符
//根据指定下标从一个字符串中返回指定的字符 字符串.charAt(下标值);
var str4 = "HelloJavaScript";
console.log(str4.charAt(7)); // v
//substring 返回指定下标区间对应的所有字符
//通过下标来选取字符串中的部分字符 字符串.substring();
var str5 = "HelloJavaScript";
console.log(str5.substring(7, 10));// vaS
//replace 返回替换完成后的新 字符串
//用来替换指定字符串的内容 字符串.replace(待替换的字符串, 新的字符串);
var str6 = "HelloJavaScript";
console.log(str6.replace("JavaScript", "World"));// HelloWorld
//split 把字符串转换为数组,并返回数组
//使用指定的分隔符将一个字符串分割成子字符串数组 字符串.split();
var str7 = "Hello,Java,Script";
console.log(str7.split(","));// (3) ['Hello', 'Java', 'Script']
//indexOf 返回下标值
//寻找某个字符在字符串中首次出现的位置 字符串.indexOf(字符);
var str8 = "HelloJavaScript";
console.log(str8.indexOf("a"));//6
</script>
</body>
</html>