0

私がやろうとしているのは、入力フォームからのデータを配列に格納することですが、配列が存在しない場合は配列を作成して残りのスクリプトを実行する方法はありますか、そうでない場合は、存在する場合は同じように続行しますスクリプトも。

配列をlocalStorageとして保存したいので、後でアイテムを表示できます。

var routes = [];

div.on('click', function() {
   routes.push({ routeF : $('input[name=routeFrom]').val() });
   routes.push({ routeT : $('input[name=routeTo]').val() });
   routes.push({ leaving : $('select').val() });

   localStorage['routes'] = JSON.stringify(routes);
   var storedRoutes = JSON.parse(localStorage['routes']);
});

私はこれをせずにできるようにしたい:

if(routes[]) {
    //do code
} else { 
    var routes = []; 
    //do same code
}
4

2 に答える 2

1

ルート変数は既に宣言されていますか?

もしそうなら、あなたは次のようなことができるはずです:

div.on('click', function() {
  // The following line will set routes to an empty array if set.
  // Be careful here, as if you have not declared routes as a variable,
  // it will become a global variable.
  (!routes || !routes.length) && (routes = []);
  // End Change ...
  routes.push({ routeF : $('input[name=routeFrom]').val() });
  routes.push({ routeT : $('input[name=routeTo]').val() });
  routes.push({ leaving : $('select').val() });

  localStorage['routes'] = JSON.stringify(routes);
  var storedRoutes = JSON.parse(localStorage['routes']);
});
于 2012-11-29T15:08:59.610 に答える
0

コードを if ステートメントの後ろに置くだけです。

if(routes) {
    // do nothing
} else { 
    var routes = []; 
}
// do the code for both cases

または、「何もない」なしで:

if( ! routes) {
    var routes = []; 
}
// do the code
于 2012-11-29T17:04:03.810 に答える