资讯专栏INFORMATION COLUMN

【译】JS基础算法脚本:验证字符包含关系

isaced / 621人阅读

摘要:需求给出一个包含两个字符串的数组。方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回或。方法为数组中的每个元素执行一次函数,直到它找到一个使返回表示可转换为布尔值的值的元素。有其他好的方法或思路的道友,不妨在沙发区神交一番。

需求

给出一个包含两个字符串的数组。验证第二个字符的子字符全被第一个字符包含(忽略大小写)
是则返回true;否则返回false

mutation(["hello", "Hello"]) should return true
mutation(["hello", "neo"]) should return false
思路1

1.for循环每个子字符是否在字符串1中
2.if语句检测数组的每个元素是否存在于字符串1中

function mutation(arr) {
    var newStr1 = arr[1].toLowerCase(),
        newStr0 = arr[0].toLowerCase();
    for(var i=0; i
function mutation(arr) {
    var newStr1 = arr[1].toLowerCase(),
        newStr0 = arr[0].toLowerCase();
    for(var i=0; i
思路2

1.arr.every()检测字符串2的每个子字符

function mutation(arr) {
    return arr[1].toLowerCase().split("")
      .every((letters) => arr[0].toLowerCase().indexOf(letters) !== -1);
}
 
mutation(["Mary", "Army"]);
function mutation(arr) {
    return arr[1].toLowerCase().split("")
      .every((letters) => arr[0].toLowerCase().includes(letters));
}
 
mutation(["Mary", "Army"]);  
相关
str.indexOf(searchValue[, fromIndex])

indexOf() 方法返回调用 String 对象中第一次出现的指定值的索引,开始在 fromIndex进行搜索。
如果未找到该值,则返回-1。

str.includes(searchString[, position])

includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回true或false。

arr.every(callback[, thisArg])

every() 方法测试数组的所有元素是否都通过了指定函数的测试。

every 方法为数组中的每个元素执行一次 callback 函数,直到它找到一个使 callback 返回 false(表示可转换为布尔值 false 的值)的元素。如果发现了一个这样的元素,every 方法将会立即返回 false。否则,callback 为每一个元素返回 true,every 就会返回 true。callback 只会为那些已经被赋值的索引调用。不会为那些被删除或从来没被赋值的索引调用。

有其他好的方法或思路的道友,不妨在沙发区神交一番。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91428.html

相关文章

  • JS基础算法脚本:回文检测

    摘要:返回一个新的字符串,表示串转换为小写的调用字符。不会影响字符串本身的值。返回一个包含子字符的数组,确定分割位置。将数组中所有子元素拼接成一个字符串,不改变原数组。 需求 给出一个字符串,检测是否是回文,是则返回true,不是则返回false(忽略标点符号,大小写,空格) palindrome(A man, a plan, a canal. Panama) should return t...

    Turbo 评论0 收藏0
  • JS基础算法脚本:查找字符串中最长的子字符

    摘要:返回一组数中的最大值。返回数组中所有元素的连接起来的字符串,参数默认为,根据返回一个从开始参数到结束参数的新数组,不改变原数组有其他好的方法或思路的道友,不妨在沙发区神交一番。 需求 给出一个字符串,查找字符串中最长的子字符,并返回其长度 findLongestWord(Google do a barrel roll) 思路1 字符串分割 循环判定,暂存较大值 循环结束,返回最大值...

    forsigner 评论0 收藏0
  • JS基础算法脚本字符串截取及三种字符截取法的差异

    摘要:如果长度超过给定的最大字符串长度第二个参数,则截断字符串第一个参数。对文章内容或方法有深刻理解,也请指点一二。 如果长度超过给定的最大字符串长度(第二个参数),则截断字符串(第一个参数)。 以...结尾返回截断的字符串。 truncateString(A-tisket a-tasket A green and yellow basket, 11) should return A-tis...

    YuboonaZhang 评论0 收藏0
  • JS基础算法脚本:反转字符

    摘要:需求反转提供的字符串,返回字符串思路分割重排序重组相关函数将字符串分割成一个包含子字符的数组,使用指定的分割字符串来确定分割位置反转数组中的元素不会改变数组,默认为将一个数组或者类数组中的的所有元素拼接到一个字符串有其他好的方法或思路的道友 需求 反转提供的字符串,返回字符串 reverseString(hello) should become olleh. 思路 分割 重排序 重组...

    kamushin233 评论0 收藏0
  • JS基础算法脚本:子字符字符大写

    摘要:一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。返回值一个部分或全部匹配由替代模式所取代的新的字符串。 需求 给出一字符串,返回子字符首字符大写的字符串 titleCase(Im a little tea pot) should return Im A Little Tea Pot. 思路1 字符串小写后切割为数组 for循环操作数组元素的首字符 拼接字符...

    Worktile 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<