今天上来,老师就剖析了一下字符串。
字符串
这个概念大家应该都不陌生,在我们实际编码中,也可以说是无处不在。
const value = 'B123'
console.log(value[0]);
console.log('B123'[0]);
这是最基本的获取字符串对应元素的方法,第一种我们很常见,第二种我以前是没有遇到过,当然意思是一样的。
const value = 'B123'
console.log(value.length);
console.log('B123'.length);
同样字符串也可以获取长度
字符串的方法
- indexOf() && lastIndexOf()
const value = 'abcabc'
console.log(value.indexOf('a'));
console.log(value.lastIndexOf);
indexOf()会返回被查找值第一次出现的索引,lastIndexOf()会返回被查找值最后一次出现的索引。若返回值为-1,则说明被查找值不存在在字符串当中。
- slice() 此方法的作用是截取字符串
const value = 'abcabc'
console.log(value.slice(1, 3));
slice()里面的两个参数,一个起始索引,一个结束索引,需要注意的是结束索引不算在提取的字符串中。 当然他的用法不局限于这一种
console.log(value.slice(0, value.indexOf('c')));
还可以用indexOf()来起始或终止,但不止局限于indexOf()
console.log(value.slice(0, -2));
说白话这个就是从后往前数两个。当然也不算倒数第二个。
- toLowerCase() && toUpperCase()
const char = 'aBcDe'
console.log(char.toLowerCase());
console.log(char.toUpperCase());
根据结果能看出一个是将字符串字母变为小写,一个是变为大写。这里就不多赘述了。
- trim()
它可以删除字符串首尾的空白字符,在此就不多演示了。
- replace()
const char = "I'm a boy."
console.log(char.replace('boy', 'girl'));
可以替换掉字符串的相应部分。
- includes()
const char = "I'm a boy."
console.log(char.includes('boy'));
console.log(char.includes('girl'));
查看字符串中是否存在查找字段,存在返回true,反之返回false
- split() 切记这个方法非常的重要。
const char = 'a+very+nice+string';
console.log(char.split('+'));
此方法可以完成字符串的分割。更厉害的是它还可以用空格去分割。
const manName = 'Jonas Schmedtman';
const [firstName, lastName] = manName.split(' ')
console.log(firstName, lastName);
- join()
const char = ['abc', 'abc']
console.log(char.join('-'));
字符串的拼接。
- padStart() && padEnd()
const char = 'abcd'
console.log(char.padStart(10, '+').padEnd(20, '-'));
这个可能不太好理解。这两个方法都有两个参数,padStart()是在字符串之前添加第二个参数使字符串达到第一个参数的数量,而padEnd()是从字符串末端添加,其余一样。
- repeat
const char = 'abcde '
console.log(char.repeat(4));
这个不难理解,参数是几,就把字符串重复几遍。
高级函数
const oneWord = function (str) {
return str.replace(/ /g, '').toLowerCase();
};
const upperFirstWord = function (str) {
const [first, ...others] = str.split(' ');
return [first.toUpperCase(), ...others].join(' ');
};
const transformer = function (str, fn) {
console.log(`Transformed string: ${fn(str)}`);
}
transformer('JavaScript is the best', upperFirstWord)
说的简单点,高阶函数就是参数中至少有一个是函数,就可以被称为高阶函数。
总结
字符串这一块讲的还是比较细致了,字符串方法很多但不局限这一种,我们会用,最好自己还能想清楚逻辑,平时学习都是为了未来能用到。高级函数就看了点皮毛,明天可能会理解的更多吧。今就到这了。