华为机试题体验(1)-获取字符串最后一个单词的长度(中等)

已被阅读 761 次 | 文章分类:javascript | 2022-02-13 20:45

在牛客网上看了下华为机试题,有入门、简单、中等、较难、困难等区分;其实这个区分依据也很简单,就是覆盖基础知识点的数量;难度低的可能只有一个知识点;随着难度上升,基础知识点的数量越多,综合考察就有难度了;所以如果有几个知识点缺失,可能就无法做出最后的结果;记录一下自己的笔记吧

1 考题描述

以下是考点描述;

                                            
// 描述
// 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。

// 输入描述:

// 输入一行,代表要计算的字符串,非空,长度小于5000。

// 输出描述:

// 输出一个整数,表示输入字符串最后一个单词的长度。

// 示例1

// 输入:

// hello nowcoder

// 输出:

// 8

// 说明:

// 最后一个单词为nowcoder,长度为8
                                            
                                        

2 考点解析

看到题目很明显是对字符串及数组的考察;

第一考察字符串转数组的方法 split()方法

第二考察获取最后一个元素的长度;考察字符串的length属性

3 介绍两种方式

两种方式区别在获取最后一个元素的时候不同

第一种;

                                            
function calLenth(str){
    let strArr=str.split(' ');
    let lastWord=strArr[strArr.length-1]
    return lastWord.length
}
console.log(calLenth("hello nowcoder"));
                                            
                                        

第二种:使用slice方法获取最后一个元素

                                            
function calLenth(str){
    return str.split(' ').slice(-1).join().length
}

console.log(calLenth("hello nowcoder"));
                                            
                                        

slice(-1)代表选取最后一个数组元素,并返回一个新数组;具体用法可访问MDN官网slice()

所以如果不会使用slice从末尾选取元素;用第一种也是可以的;测试地址:最后一个字符长度

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号