将两个 javascript 项翻译成 AS3

Translating two javascript terms into AS3

我正在使用某人为我开发的 JS 脚本,但我需要将其转换为 AS3。我对 AS3 很满意,但有点困惑:如何将这两行翻译成 AS3。

  1. var teams = Array.apply(null, {length: numOfTeams}).map(Number.call, Number)
  2. 以下带反单引号的片段

pairs[`${i},${x}`] = true;

尽管脚本在 JS 解释器中运行良好,但我不确定“`”表示什么,我认为 "apply" 和 "map" 可能在 AS2 中出现时是基于原型的,但我从未使用过 AS2。建议?

`` 表示 template literal,这意味着 ${i},${x} 将替换为变量 i 包含的任何内容,逗号,然后是变量 x 包含。下面两个是等价的:

pairs = {};
i = 'hello'
x = 'world'
pairs[`${i},${x}`] = true;

console.log(pairs)

pairs = {}
pairs[i + ',' + x] = true
console.log(pairs)

.apply looks like it existed in AS3, as does .map

所以在现代 JS 中,反引号表示字符串插值。我认为 AS3 中没有等效项。在后面的勾号内,您可以使用 ${} 将变量包装在字符串中。

举个例子并想象一些输入

var i = 1;
var x = 2;
`${i},${x}`
// outputs "1,2" as a string

var i = "Foo";
var x = "Bar";
`${i},${x}`
// outputs "Foo,Bar" as a string

它只是将两个变量用逗号连接起来。 也可以这样写。

var i = 1;
var x = 2;
i + "," + x
// outputs "1,2" as a string

看起来你有一个对象 pairs,其中 i comma x 作为键,布尔值作为值。

{
  "1,2": true,
  "0,0": false,
  "4,5": true,
  "9,3": true
}