バリケンのJavaScript日記 RSSフィード

2006-10-22

[] Arrayオブジェクトのmapメソッド  Arrayオブジェクトのmapメソッド - バリケンのJavaScript日記 を含むブックマーク はてなブックマーク -  Arrayオブジェクトのmapメソッド - バリケンのJavaScript日記  Arrayオブジェクトのmapメソッド - バリケンのJavaScript日記 のブックマークコメント

Rubyではおなじみのmapメソッドは、JavaScript 1.5では実装されていないみたい(1.6からみたい)。

いろいろと探してみたところ、こちらで実装されていたのでそのままコピペさせてもらったよ。mapがあればRubyのeachっぽいこともできるから便利だよね。

function puts(s) {
  WScript.StdOut.Write(s + "\n");
}

if (!Array.map) {
  if (!Array.prototype.map) {
    Array.prototype.map = function (callback, thisObject) {
      var length = this.length;
      var result = new Array(length);
      for (var i = 0; i < length; i++)
        result[i] = callback.call(thisObject, this[i], i, this);
      return result;
    };
  }
  Array.map = function (array, callback, thisObject) {
    return Array.prototype.map.call(array, callback, thisObject);
  };
}

var a = ["ひとつ","ふたつ","みっつ","よっつ","いつつ"];

a.map(function (item) {
  puts(item);
});

実行結果だよ。

>cscript array_map.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

ひとつ
ふたつ
みっつ
よっつ
いつつ

>