var str = 'sadasd'
var arr = str.split("")//用split()转化过来的数组,数组中的元素都是字符串,返回一个新数组
console.log(str);//sadasd
console.log(arr);//[ 's', 'a', 'd', 'a', 's', 'd' ]
// 数组转字符串,返回一个新的字符串
var str1 = arr.join("");
console.log(arr);//[ 's', 'a', 'd', 'a', 's', 'd' ];(不改变原数组)
console.log(str1);//sadasd;
// 字符串和数组共有的方法 //1.indexOf() //2.lastIndexOf() //3.concat() //4.slice() //5.includes()
//1.indexOf() 检索字符串。返回的是在字符串里最先出现的索引值 // 字符串用法
"Blue Whale".indexOf("Blue") // 返回 0
"Blue Whale".indexOf("Blute") // 返回 -1
"Blue Whale".indexOf("Whale", 0) // 返回 5
"Blue Whale".indexOf("Whale", 5) // 返回 5 // 数组用法
//indexOf() 这方法接受两个参数:第一个参数是要查找的项,第二个参数是表示从该索引开始往后找(可选的),如果不传就代表从前往后找,返回的是查找的索引值,找不到就返回-1 var a = ['A','B','C','D','A','F']
// var num = a.indexOf("A",2)
// num // -1
var num = a.indexOf("A")
num // 0
// 2.lastIndexOf () 检索字符串。返回的是在字符串里最后出现的索引值
//字符串用法 'canal'.lastIndexOf('a'); // returns 3 (没有指明fromIndex则从末尾l处开始反向检索到的第一个a出现在l的后面,即index为3的位置)
'canal'.lastIndexOf('a', 2); // returns 1(指明fromIndex为2则从n处反向向回检索到其后面就是a,即index为1的位置)
'canal'.lastIndexOf('a', 0); // returns -1(指明fromIndex为0则从c处向左回向检索a发现没有,故返回-1) // 数组用法
//lastIndexOf() 这方法接受两个参数:第一个参数是要查找的项,第二个参数是表示从该索引开始往前找(可选的),如果不传就代表从后往前找,返回的是查找的索引值,找不到就返回-1 var a = ['A','B','C','D','A','F']
// var num = a.lastIndexOf("A",2)
// num // 0
var num = a.lastIndexOf("A")
num // 4
// 3.concat()
// 字符串用法
// concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。不改变原字符串
let greetList = ['Hello', ' ', 'Venkat', '!']
"".concat(...greetList) // "Hello Venkat!"
// 数组用法 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3); // expected output: Array ["a", "b", "c", "d", "e", "f"]
//4.slice()
// 字符串用法,方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串,第一个参数是开始截取的地方,第二个参数是结束截取的部分 const str = 'The quick brown fox jumps over the lazy dog.';
console.log(str.slice(31)); // expected output: "the lazy dog."
console.log(str.slice(4, 19)); // expected output: "quick brown fox"
// 数组用法,slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。 const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2)); // expected output: Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4)); // expected output: Array ["camel", "duck"]
//10.includes()
// 字符用法
// includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。(区分大小写)
var str = 'To be, or not to be, that is the question.';
console.log(str.includes('To be')); // true console.log(str.includes('question')); // true console.log(str.includes('nonexistent')); // false console.log(str.includes('To be', 1)); // false console.log(str.includes('TO BE')); // false
//数组用法
// includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。 const array1 = [1, 2, 3];
console.log(array1.includes(2)); // expected output: true