首页 > 解决方案 > 通过连续添加字母直到完成整个单词,创建一个接收单词并拼写出来的函数

问题描述

通过连续添加字母直到完成整个单词,创建一个接收单词并拼写出来的函数。

这是我的解决方案代码。我对 JS 超级陌生。有人可以告诉我这个问题吗?谢谢你。

function spelling(str) {
    var str1 = [...str]
    var n 
    str1.index[n] = str.slice(0, n+1)   
    return str1
}

预期输出:

Test.assertSimilar(spelling("bee"), ['b', 'be', 'bee'])
Test.assertSimilar(spelling("cake"), ['c', 'ca', 'cak', 'cake'

实际输出:

TypeError:无法在 Object.exports.runInThisContext 的 ContextifyScript.Script.runInThisContext 的 Object.handleError 处设置未定义的属性“未定义”

标签: javascript

解决方案


首先,您从未初始化n.

另外,什么是str1.index?它不存在。如果要访问数组中的单元格,则应使用:array[i]

此外,在定义 n 之后,您需要为每个字符更新它。

我所做的是修复我上面提到的所有内容,并创建了一个空数组,并且对于每个字符,str我向数组推送一个切片str并更新n++n意味着在将n其增加 1 后使用)。

function spelling(str) {
  var str1 = [];
  let n = 0;
  for (c in str)
    str1.push(str.slice(0, ++n));
  return str1;
}

console.log(spelling('bee'));


推荐阅读