Study Notes

Study Notes

  • Source
  • WebDesign
  • Javascript

›Basic Algorithm Script

Basic Javascript

  • Basic JavaScript Overview

ES6

  • ES6 Overview

Regular expression

  • Regular Expression Overview
  • Lookahead
  • Capture Group

Debugging

  • Debugging Overview

Object Oriented Programming

  • Object Oriented Programming Overview
  • Mixin
  • Closure
  • IIFE

Functional Programming

  • Functional Programming

Basic Algorithm Script

  • Reverse a String
  • Factorialize a Number
  • Find the Longest Word in a String
  • Return Largest Numbers In Arrays
  • Repeat a String
  • Truncate a String
  • Finders Keepers
  • Boo Who
  • Title Case a Sentence
  • Slice and Splice
  • Falsy Bouncer
  • javascript-algorithms-anddata-structures/basic-algorithm-scripting/where-do-i-belong
  • Mutations
  • Chunky Monkey

Intermediate Algorithm Script

  • Sum All Numbers in a Range
  • Diff Two Arrays
  • Seek and Destroy
  • Wherefor Art Thou
  • Spinal Tap Case
  • Search and Replace
  • DNA Pairing
  • Missing letters
  • Sorted Union
  • Convert HTML Entities
  • Sum All Odd Fibonacci Numbers
  • Smallest Common Multiple
  • Drop it
  • Steamroller
  • Binary Agents
  • Everything Be True
  • Arguments Optional
  • Make a Person
  • Map the Debris

Mutations

个人思路:

  • 将数组中的元素都转换为小写,这样就解决了元素中包含大小写不方便判断的问题了。
  • 遍历第二个元素当中的所有字符,判断是否存在与第一个元素当中。
function mutation(arr) {
  const firstElement = arr[0].toLowerCase();
  const secondElement = arr[1].toLowerCase();

  for(let i = 0; i < secondElement.length; i++) {
    if (firstElement.indexOf(secondElement[i]) < 0) {
      return false;
    }
  }
  return true;
}

mutation(["hello", "hey"]);

我们来看看 FreeCodeCamp 提供的中级思路

function mutation(arr) {
  return arr[1].toLowerCase()
    .split('')
    .every(function(letter) {
      return arr[0].toLowerCase()
        .indexOf(letter) != -1;
    });
}

我将中级思路中的代码,拆分了以下,方便理解。

思路依然是:

  • 将数组元素转换为小写
  • 判断第二个元素中的字符是否存在于第一个元素当中
function mutation(arr) {
  const firstElement = arr[0].toLowerCase();
  const secondElementArray = arr[1].toLowerCase().split('');
  return secondElementArray.every(letter => firstElement.indexOf(letter) != -1)
}
← javascript-algorithms-anddata-structures/basic-algorithm-scripting/where-do-i-belongChunky Monkey →
Copyright © 2019 罗惠东