gpt4 book ai didi

javascript .split() 采用未定义的值

转载 作者:行者123 更新时间:2023-12-03 05:30:55 25 4
gpt4 key购买 nike

我有一个存储在 localStorage 中的已拆分信息列表。 localStorage的初始值为:FC Girondins de Bordeaux*null*null*OSC Lille 。拆分工作正常,但是当我刷新页面时。取值:FC Girondins de Bordeaux null - null OSC Lille undefined - undefined undefined 。我该如何解决这个问题?

我的app.js代码:

.controller('myMatchsCtrl', function($scope, $localStorage) {
$scope.$storage= localStorage;
console.log(localStorage);
$scope.nbstore = localStorage.length;
var tabAff = [];
// show localStorage
for ( var i = 0, len = localStorage.length; i < len; ++i ) {
localStorage.getItem( localStorage.key( i ));
tabAff[i] = localStorage[i+1].split("*");
$scope.$storage[i+1] = tabAff[i][0] + " " + tabAff[i][1] + " - " + tabAff[i][2] + " " + tabAff[i][3];
};

我的html代码:

<div id="myMatch" ng-repeat="n in [].constructor(nbstore+1) track by $index"  ng-if="nbstore">
<h5> {{$storage[$index]}}</h5>
<label class="toggle" ng-model="myMatchsCtrl" ng-click="deleteMyMatch($storage[$index])">
<input type="checkbox" checked ng-click="reloadPage()"/>
<div class="track">
<div class="handle"></div>
</div>
</label>
</div>

最佳答案

说明

当您进行第一次拆分时,您将使用计算值覆盖 localStorage。基本上,发生的事情是这样的:

tabAff[i] = "FC Girondins de Bordeaux*null*null*OSC Lille".split("*")
// tabAff[i] = [ "FC Girondins de Bordeaux", "null", "null", "OSC Lille" ]

由于 $scope.$storage= localStorage,您正在放置

tabAff[i][0] + " " + tabAff[i][1] + " - " + tabAff[i][2] + " " + tabAff[i][3];
// = "FC Girondins de Bordeaux null - null OSC Lille"

在本地存储中。

当你刷新页面时,你正在做

"FC Girondins de Bordeaux null - null OSC Lille".split("*")

这给了你

tabAff[i] = [ "FC Girondins de Bordeaux null - null OSC Lille" ]

所以 tabAff[i][0] = "FC Girondins de Bordeaux null - null OSC Lille",并且 tabAff[i][1] = tabAff[i][2] = tabAff[i][3] = 未定义

所以tabAff[i][0] + ""+ tabAff[i][1] + "- "+ tabAff[i][2] + ""+ tabAff[i][3]为您提供 FC Girondins de Bordeaux null - null OSC Lille undefined - undefined undefined

解决方案

不要覆盖 localStorage 中的值(删除 $scope.$storage= localStorage;)或存储计算值 (tabAff[i][0] + ""+ tabAff[i][1] + "- "+ tabAff[i][2] + ""+ tabAff[i][3]) 在 localStorage 的另一部分

关于javascript .split() 采用未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40951117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com