【问题标题】:Loop to create '$ scope' in javascript循环在javascript中创建'$ scope'
【发布时间】:2014-05-09 11:50:15
【问题描述】:

如何使循环看起来像这样:

$scope.items = [
{ id: 1 },
{ id: 2 },
{ id: 3 },
{ id: 4 },
{ id: 5 },
{ id: 6 },
{ id: 7 },
{ id: 8 },
{ id: 9 },
{ id: 10 } ];

我想是这样的:

var keyName, value;   $scope.items =[
    for (i=0; i< localStorage.length; i++){
        keyName = localStorage.key(i);
        value = localStorage.getItem(keyName);
'{ id: value },'

    }
    ];  

请帮忙,谢谢。

【问题讨论】:

    标签: javascript ionic-framework


    【解决方案1】:

    这将创建您请求的对象:

    var keyName, value;   
    $scope = { items: [] };
    
    for (i=0; i< localStorage.length; i++){
        id = localStorage.key(i);
        value = localStorage.getItem(id);
        $scope.items.push({ id:value});
    }
    

    如果你只想要localStorage的内容,为什么不直接使用JSON.stringify(localStorage)

    【讨论】:

      【解决方案2】:

      试试这个:

      var key, value;
      $scope.items = [];
      
      for (var i = 0; i < localStorage.length; i++){
          key = localStorage.key(i);
          value = +localStorage[key];
          $scope.items[i] = {id: value};
      }
      

      +localStorage 之前的目的是强制类型(即使用{id: 42} 而不是{id: "42"}),如果您不确定该值是否为数字,请使用 parseInt()。

      【讨论】:

      • 非常感谢。你给我的脚本: null null null 0 当我这样做时: $scope.items[i] = {id: ''+value+''};返回:NaN NaN NaN 0 什么会?
      • 我不明白你在问什么,你能解释一下吗?
      • 总之,我确定我应该返回字符串。
      • 好的,我看到了你的编辑。此脚本假定 localStorage 中的值是有效的(例如,不是 null 或不是不是数字的字符串)。您可以在尝试使用之前添加if 以验证该值是否正确。它还假设 $scope 已定义并且是一个对象。
      • 从哪个函数返回?
      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 2022-11-16
      • 2021-08-11
      • 2020-09-26
      相关资源
      最近更新 更多