[到codewars打怪兽]串串香

[7 kyu]Substring fun

⌚️2016.02.22

问题描述:

[7 kyu]Substring fun

验证方式:

题目理解:

函数nthChat处理一个参数,一个 字符串组。

你需要从第n个单词中取出对应的第n个字母来组合成一个新单词,并将其转化成字符串返回来。

注意:只测试合理的的输入——即字符串组和空组,每个单词也一定有其所在的数组的序号长度的字母。

我的解法

function nthChar(words){  
var newWord = '',        //1⃣️
    A_length=words.length;
if(A_length !== 0){    
  for(var i =0,n = A_length-1;i <= n;++i){
      var eachWord = [];
          eachWord = words[i].split(""); //2⃣️
         newWord = newWord + eachWord[i];
    }
   }
 return newWord
}

注解:

  1. 通过赋值 '' 避免 undifined 自动转换成 'undeifned', 干扰结果。

  2. 使用函数 split( , ) 能将 字符串 ,[按一定的规律]分割成[可设置数组长度的]数组。 w3s > split()

优解

  1. 优解一

  2. 优解二

  3. 优解三

知识点:

  1. const:

    • const 声明创建一个只读的常量。这不意味着常量指向的值不可变,而是变量标识符的值只能赋值一次。(译者注:JavaScript中的常量和Java,C++中的常量一个意思。注意区分常量的值和常量指向的值的不同)

    • const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];

      • nameN

        • 常量名称,可以是任意合法的identifier(标识符)。

      • valueN

        • 常量值,可以是任意合法的表达式。

    • Mozilla手册 > const

    • 深入学习const

  2. map()方法:

    • 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。

    • .map(callback(index,domElement))

      • callback(index,domElement)

        • 对当前集合中的每个元素调用的函数对象

    • jQuery遍历 > map()

  3. reduce()方法:

    • 接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。

    • arr.reduce(callback,[initialValue])

      • callback

        • 执行数组中每个值的函数,包含四个参数

        • previousValue

          • 上一次调用回调返回的值,或者是提供的初始值(initialValue)

          • currentValue

            • 数组中当前被处理的元素

          • index

            • 当前元素在数组中的索引

          • array

            • 调用 reduce 的数组

  • initialValue

    • 作为第一次调用 callback 的第一个参数。

Mozilla手册 > reduce()

charAt()方法:

  • charAt() 方法返回字符串中指定位置的字符。

  • str.charAt(index)

    • index:

      • 0 到 字符串长度-1 的一个整数。

  • Mozilla手册 > charAt()

join()方法:

  • join() 方法将数组中的所有元素连接成一个字符串。

  • str = arr.join([separator = ','])

    • separator:

      • 可选,用于指定连接每个数组元素的分隔符。分隔符会被转成字符串类型;

      • 如果省略的话,默认为一个逗号

      • 如果 seprator 是一个空字符串,那么数组中的所有元素将被直接连接

  • Mozilla手册 > join()

"=>"表达式

  • 箭头函数就是个简写形式的函数表达式,箭头函数总是匿名的。

  • (param1, param2, …, paramN) => { statements }

  • (param1, param2, …, paramN) => expression

    • // equivalent to: => { return expression; }

  • // 如果只有一个参数,圆括号是可选的:

    • (singleParam) => { statements }

    • singleParam => { statements }

  • // 无参数的函数需要使用圆括号:

    • () => { statements }

  • Mozilla手册 >箭头函数表达式

引申

心得:

  • codewar好像可以用jQ诶。

  • 原来因为不懂基本都是因为不知道: 字符串 变量本身被当作数组调用时,会被当作数组处理而不动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值