【问题标题】:Array.from(string) method not working in Google ScriptArray.from(string) 方法在 Google Script 中不起作用
【发布时间】:2017-04-03 16:29:13
【问题描述】:

我正在尝试做一个非常简化的凯撒密码,但为此,我需要将字符串转换为数组。我用过

 var i = Array.from('string')` 

但谷歌不认为这是一种有效的方法。

有没有办法解决这个问题?我想把它变成一个字符串

'Hello World' 

变成每个字符的数组

[H, e, l, l, o, , W, o, r, l, d] 

Google 也不识别 .toCharArray() 方法,也不识别 split("")split("(?!^)")

已解决我用var ui = DocumentApp.getUi(); var input = ui.prompt(""); var array = input.getResponseText().split("");

【问题讨论】:

  • array.split(''); - 但是 Chrome 在 v45 之后应该支持 Array.from
  • Array.from("Hello World") 适用于 Chrome 45+ developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 我目前正在使用 Google Script,这是一个非常类似于 Google Docs 或 Google Slides 的程序,但它并不认为其中任何一个是有效的方法。难道是因为我没有使用原始字符串,而是包含字符串的对象?
  • @Blake 你用什么样的对象来封装字符串值?
  • toCharArray 不是 JavaScript - split("(?!^)") 不是有效的正则表达式

标签: javascript arrays google-apps-script ecmascript-6


【解决方案1】:

你可以直接在字符串上运行split

var i = "hello world".split("");

【讨论】:

  • 他在提示。这是一个 GoogleScript 应用程序
  • 然后根据提示的响应运行它,关键是不要使用 Array 类,因为 Array.from 不起作用。 --- input.getResponseText().split("")
  • 我认为 Array.from(input.getResponseText()) 也会起作用
  • 人们会想。但是,在 Google Script 中运行代码,它会抱怨“from 不是 Object 的函数”,或者类似的东西。
  • Christian Hain 使用 input.getResponseText().split("") 的方法效果很好,感谢您的回复
【解决方案2】:

如果您使用.prompt 要求用户输入,则需要将其存储到变量中。

var ui = DocumentApp.getUi();
var input = ui.prompt('') //...

// Then if you want to access the input text
var array = Array.from(input.getResponseText());

查看 google 的 Google Apps 脚本文档https://developers.google.com/apps-script/reference/base/prompt-response

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    相关资源
    最近更新 更多