JS基础面试题真题——数组

题目

需求:一个字符串,如何判断该字符串结尾是否以'a o e i u'结尾(包括大小写)
考点:js基础,数组遍历+拼接 + 大小写转换


提示:以下是本篇文章正文内容,下面案例可供参考

一、实现步骤

方法一:

步骤1:分隔条件字符串得到一个数组;
步骤2:遍历数组每一项并且都转为大写得到一个新数组;
步骤3:原数组拼接新数组;
步骤4:遍历数组中的每一项和参数的最后一项做判断,只要有一项满足条件就返回true,否则就返回falsepandas 是基于NumPy 步骤5:的一种工具,该工具是为了解决数据分析任务而创建的。

代码如下(示例):

<script>  
    function check(str) {
        let code = 'aoeiu'.split('');
        code = code.concat(code.map(r=>r.toUpperCase()));
        return code.some(c=>str.endsWith(c));
    }
</script>

方法二 :

步骤1:将参数转为小写;
步骤2:分隔条件得到一个数组;
步骤3:遍历数组中的每一项和参数的最后一项做判断,只要有一项满足条件就返回true,否则就返回false
:

代码如下(示例):

    function check(str) {
        str = str.toLowerCase();
        let code = 'aoeiu'.split('');
        return code.some(c=>str.endsWith(c));
    }

方法三:

步骤1:参数转成小写同时获取参数的最后一位;
步骤2:判断最后一位是否在条件字符串中出现过,出现过返回true,否则返回false。

注意:不需要转换大小写,因为includes会区分大小写。

代码如下(示例):

    function check(str) {
        let lastCode = str.toLowerCase()[str.length-1];
        return 'aoeiu'.includes(lastCode);
    }

 


知识点总结

封装概念:隐藏内部细节,对外提供公共访问方式。

封装优点:提高代码安全局,减少代码冗余从而达到复用

split():方法用于把一个字符串分割成字符串数组。

concat():方法用于连接两个或多个数组 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

map():方法返回一个新数组,数组中的元素是原始数组元素调用函数处理后的值,不改变原数组。

toUpperCase():方法用于把字符串转换为大写。

some():方法会判断数组的每个元素是否满足指定条件,不会改变原数组,返回值:布尔值。

endsWith():用于检测字符串是否使用指定字符串结尾

toLowerCase():方法用于把字符串转换为小写。

includes():

     1、在字符串中使用时,相当于indexOf(),查询成功返回true,失败返回false

     2、在数组中使用时,可以查询某个元素是否包含在数组中(只能查询Number,String类型的元素)

      注意:includes() 方法区分大小写

=>:箭头函数相当于 匿名函数, 简化了函数的定义

     箭头函数有两种格式:

          1、一种只包含一个表达式,没有{…} 和 return 。

          2、一种包含多条语句, 这个时候{} return 就不能省略

     箭头函数this指向:

          箭头函数内部的this是词法作用域,由上下文确定。(词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变。)

(简化)箭头函数的this永远指向其父作用域,任何方法都改变不了。

 

❀ 开心快乐每一天 ❀

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值