Hatena::ブログ(Diary)

satoru.netの自由帳 このページをアンテナに追加 RSSフィード

080427Sunday

[][]forEach

ASで全配列に対してloop処理するときeachInってメソッドを使って、

array.eachIn(function(s){ ... }) みたいにして処理すんだけど、

JSでもできんのかなー?とおもったら、FFではできるんだけど、

どうやらIEにはないらしい。そゆときは、

if (!Array.prototype.forEach){
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();
    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}

この一文を入れて解決!これで、for文かかんでもちゃちゃ処理できるべ。

080422Tueday てすつ

[][]こーどめも

function simpleApp(){
 var OWNER = opensocial.DataRequest.PersonId.OWNER;
 var OWNERID = opensocial.Container.get().params_.ownerid;

 this.get = function(key,callback){
  getValue(function(obj){callback(obj[key])})
 }

 this.getObject = function(callback){
  getValue(function(obj){ callback(obj) })
 }

 this.dump = function(key,value,callback){
  getValue(function(data){ dump(data) })
 }

 function dump(obj){
  var array = new Array();
  for(var key in obj){
   array.push(key + ":" + obj[key]);
  }
   alert(array.join("\n"));
 }
 
 function getValue(callback){
  var req = opensocial.newDataRequest();
  req.add(req.newFetchPersonAppDataRequest( OWNER ));
  req.send(function(data){ 
  callback(data.responseItems_.OWNER_APP_DATA.data_[OWNERID])
  })
 }
}

©satoru.net
Mail Twitter