第十五天前端浅记录

109 阅读2分钟

今天上来,老师就剖析了一下字符串。

字符串

这个概念大家应该都不陌生,在我们实际编码中,也可以说是无处不在。

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);

image.png

indexOf()会返回被查找值第一次出现的索引,lastIndexOf()会返回被查找值最后一次出现的索引。若返回值为-1,则说明被查找值不存在在字符串当中。

  • slice() 此方法的作用是截取字符串
const value = 'abcabc'
console.log(value.slice(1, 3));

image.png

slice()里面的两个参数,一个起始索引,一个结束索引,需要注意的是结束索引不算在提取的字符串中。 当然他的用法不局限于这一种

console.log(value.slice(0, value.indexOf('c')));

image.png 还可以用indexOf()来起始或终止,但不止局限于indexOf()

console.log(value.slice(0, -2));

image.png

说白话这个就是从后往前数两个。当然也不算倒数第二个。

  • toLowerCase() && toUpperCase()
const char = 'aBcDe'
console.log(char.toLowerCase());
console.log(char.toUpperCase());

image.png

根据结果能看出一个是将字符串字母变为小写,一个是变为大写。这里就不多赘述了。

  • trim()

它可以删除字符串首尾的空白字符,在此就不多演示了。

  • replace()
const char = "I'm a boy."
console.log(char.replace('boy', 'girl'));

image.png

可以替换掉字符串的相应部分。

  • includes()
const char = "I'm a boy."
console.log(char.includes('boy'));
console.log(char.includes('girl'));

image.png

查看字符串中是否存在查找字段,存在返回true,反之返回false

  • split() 切记这个方法非常的重要。
const char = 'a+very+nice+string';
console.log(char.split('+'));

image.png

此方法可以完成字符串的分割。更厉害的是它还可以用空格去分割。

const manName = 'Jonas Schmedtman';
const [firstName, lastName] = manName.split(' ')
console.log(firstName, lastName);

image.png

  • join()
const char = ['abc', 'abc']
console.log(char.join('-'));

image.png

字符串的拼接。

  • padStart() && padEnd()
const char = 'abcd'
console.log(char.padStart(10, '+').padEnd(20, '-'));

image.png

这个可能不太好理解。这两个方法都有两个参数,padStart()是在字符串之前添加第二个参数使字符串达到第一个参数的数量,而padEnd()是从字符串末端添加,其余一样。

  • repeat
const char = 'abcde '
console.log(char.repeat(4));

image.png

这个不难理解,参数是几,就把字符串重复几遍。

高级函数

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)

image.png

说的简单点,高阶函数就是参数中至少有一个是函数,就可以被称为高阶函数。

总结

字符串这一块讲的还是比较细致了,字符串方法很多但不局限这一种,我们会用,最好自己还能想清楚逻辑,平时学习都是为了未来能用到。高级函数就看了点皮毛,明天可能会理解的更多吧。今就到这了。