5

JavaScript 1.7 では、分解が可能です。

[a, b] = [1, 2] // var a = 1, b = 2;

残りの配列と頭を取得する方法はありますか: Clojure

(let [[head & xs] [1 2 3]] (print head xs)) ; would print: 1 [2 3]

パイソン

a, b* = [1, 2, 3]

参照: https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7#Using_JavaScript_1.7

4

2 に答える 2

5

配列の残りの部分を取得し、構造化代入で頭にする方法はありますか?

私はそうは思わない。拡散演算子はFF16 以降、配列リテラルでサポートされているようですが、調和の提案はまだ構造化代入をカバーしていません。もしそうなら、それは次のようになります

[a, ...b] = [1, 2, 3];

更新: ES6 は、配列破壊パターンの「残りの要素」と呼ばれるこの構文をサポートしています。

それまでは、ヘルパー関数を使用する必要があります。

function deCons(arr) {
    return [arr[0], arr.slice(1)];
}
[a, b] = deCons([1,2,3]);
于 2014-02-05T18:48:20.223 に答える
0

あなたはかなり近づくことができます:

var a = [1, 2, 3];
var head = a.shift(); // a is [2, 3] now

落とし穴は、それが変異するということです。オリジナルを保存したい場合は、操作の前に「slice()」を実行できます。

これはおそらくあなたが探している答えではありませんが、探しているものを達成するための最も簡単な方法です. その一部を関数にラップして整理することができます。

于 2014-02-05T18:38:28.990 に答える