了解ES6-字符串

了解ES6-字符串

ES6新增了子串的识别方法
  1. includes(“str”):判断是否找到参数字符串,返回类型是布尔值。
  2. startsWith(“str”):判断参数字符串是否在原字符串的头部,返回类型是布尔值。
  3. endsWith(“str”):判断参数字符串是否在原字符串的尾部,返回类型是布尔值。
示例代码
var str = "apple,banana,orange";
str.includes("banana");     // true,判断该字符串是否包含
str.startsWith("apple");    // true,判断该字符串是否出现在头部
str.startsWith("banana",6)  // true,startsWith("banana",6) 里面的参数6为查询的起始位置
str.endsWith("apple");      // false,判断该字符串是否出现在尾部
运行结果如下图

在这里插入图片描述

注意点

这三个方法只返回布尔值,如果需要知道子串的位置,还是得用 indexOf 和 lastIndexOf 。
这三个方法如果传入了正则表达式而不是字符串,会抛出错误。而 indexOf 和 lastIndexOf 这两个方法,
它们会将正则表达式转换为字符串并搜索它。

字符串重复

repeat():返回新的字符串,表示将字符串重复指定次数返回。
repeat()参数有小数,则向下取整,
如果repeat()参数是 0 至 -1 之间的小数,会进行取整运算,那么repeat(0)参数等于0次
如果repeat()参数是 NaN,那么repeat(0)参数等于0次
如果repeat()参数是负数或Infinity的话会报错
如果repeat(“str”)传入的参数是字符串,则会先将字符串转化为数字

示例代码
console.log("Hello,".repeat(2));  // "Hello,Hello,"repeat(2)里面是2所有会返回两遍Hello
console.log("Hello,".repeat(3.2));  // "Hello,Hello,Hello,"
console.log("Hello,".repeat(-0.5));  // ""
console.log("Hello,".repeat(NaN));  // "" 
console.log("Hello,".repeat(-1));  
console.log("Hello,".repeat(Infinity));
console.log("Hello,".repeat("hh")); // ""
console.log("Hello,".repeat("2"));  // "Hello,Hello,"
运行结果如下图

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是代码实现: ```jsx class App extends React.Component { constructor(props) { super(props); this.state = { a: "", b: "", c: "" }; } handleChange = (event) => { const { name, value } = event.target; this.setState({ [name]: value }); }; componentDidUpdate(prevProps, prevState) { const { a, b, c } = this.state; if ( (a === "正财" && b === "正财" && c === "偏财") || (a === "正财" && b === "偏财" && c === "正财") || (a === "偏财" && b === "正财" && c === "正财") ) { console.log("成功"); } } render() { return ( <div> <label htmlFor="a">变量a:</label> <select name="a" id="a" onChange={this.handleChange}> <option value="">请选择</option> <option value="正财">正财</option> <option value="偏财">偏财</option> </select> <br /> <label htmlFor="b">变量b:</label> <select name="b" id="b" onChange={this.handleChange}> <option value="">请选择</option> <option value="正财">正财</option> <option value="偏财">偏财</option> </select> <br /> <label htmlFor="c">变量c:</label> <select name="c" id="c" onChange={this.handleChange}> <option value="">请选择</option> <option value="正财">正财</option> <option value="偏财">偏财</option> </select> </div> ); } } ReactDOM.render(<App />, document.getElementById("root")); ``` 代码说明: 1. 我们定义了三个变量 a、b、c,初始值为空字符串。 2. 在组件渲染时,我们渲染了三个下拉框,分别对应变量 a、b、c。当下拉框的值发生变化时,我们使用 `handleChange` 方法更新相应的变量。 3. 在 `componentDidUpdate` 方法中,我们判断是否满足“两个变量里的字符串为正财,另一个变量里的字符串为偏财”的条件,如果满足,就打印“成功”。 4. 注意,在 `componentDidUpdate` 方法中,我们使用了解构赋值来获取变量 a、b、c 的最新状态,以便进行判断。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值