Javascript 通过比较两个数组生成数组并动态添加密钥
我的应用程序从API接收数据并将其保存在Javascript 通过比较两个数组生成数组并动态添加密钥,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我的应用程序从API接收数据并将其保存在$scope.newz中 书签数据从本地存储加载 我正在比较两个数组的contentId值,$scope.newz和$scope.bookmarkData 我不知道如何仅为匹配的数组项保存书签状态:true 最后,将匹配的记录添加到$scope.AllnewsList 这是我的密码 if(data.Status.ResponseCode == 200) { $("#fetchnews").hide(); // $("#nodata"
$scope.newz
中
书签数据
从本地存储加载
我正在比较两个数组的contentId值,$scope.newz和$scope.bookmarkData
我不知道如何仅为匹配的数组项保存书签状态:true
最后,将匹配的记录添加到$scope.AllnewsList
这是我的密码
if(data.Status.ResponseCode == 200)
{
$("#fetchnews").hide();
// $("#nodata").show();
$("#sError").hide();
//$scope.AllnewsList = data.contents;
$scope.newz = data.contents;
$scope.bookmarkData = JSON.parse(window.localStorage.getItem('bookmark'));
for (var i=0; i < $scope.newz.length; i++)
{
for (var j=0; j < $scope.bookmarkData.data.length; j++)
{
if ($scope.newz[i].ContentId == $scope.bookmarkData.data[j].ContentId)
{
// console.log($scope.newz[i].ContentId);
$scope.bookmarkstate == true;
}
else
{
$scope.bookmarkstate == false;
}
}
}
$scope.AllnewsList = $scope.newz;
}
if(data.Status.ResponseCode==200)
{
$(“#fetchnews”).hide();
//$(“#nodata”).show();
$(“sError”).hide();
//$scope.AllnewsList=data.contents;
$scope.newz=data.contents;
$scope.bookmarkData=JSON.parse(window.localStorage.getItem('bookmark');
对于(变量i=0;i<$scope.newz.length;i++)
{
对于(var j=0;j<$scope.bookmarkData.data.length;j++)
{
if($scope.newz[i].ContentId==$scope.bookmarkData.data[j].ContentId)
{
//log($scope.newz[i].ContentId);
$scope.bookmarkstate==true;
}
其他的
{
$scope.bookmarkstate==false;
}
}
}
$scope.AllnewsList=$scope.newz;
}
如果我理解正确,那么无论您是否至少有一个书签,您都在为每个newz
注册
如果您想这样做,我建议将$scope.bookmarkstate
设置为与newz
数组大小相同的数组
这样,如果“newz”
数组中的对应单元格是否包含书签,则可以在其每个单元格中注册
if(data.Status.ResponseCode == 200)
{
$scope.bookmarkstate = [];
$("#fetchnews").hide();
$("#sError").hide();
$scope.newz = data.contents;
$scope.bookmarkData = JSON.parse(window.localStorage.getItem('bookmark'));
for (var i=0; i < $scope.newz.length; i++)
{
for (var j=0; j < $scope.bookmarkData.data.length; j++)
{
if ($scope.newz[i].ContentId == $scope.bookmarkData.data[j].ContentId)
{
$scope.bookmarkstate[i] == true;
}
else
{
$scope.bookmarkstate[i] == false;
}
}
}
$scope.AllnewsList = $scope.newz;
}
if(data.Status.ResponseCode==200)
{
$scope.bookmarkstate=[];
$(“#fetchnews”).hide();
$(“sError”).hide();
$scope.newz=data.contents;
$scope.bookmarkData=JSON.parse(window.localStorage.getItem('bookmark');
对于(变量i=0;i<$scope.newz.length;i++)
{
对于(var j=0;j<$scope.bookmarkData.data.length;j++)
{
if($scope.newz[i].ContentId==$scope.bookmarkData.data[j].ContentId)
{
$scope.bookmarkstate[i]==true;
}
其他的
{
$scope.bookmarkstate[i]==false;
}
}
}
$scope.AllnewsList=$scope.newz;
}
让我知道你是怎么做到的。
干杯。如果我理解正确,无论您是否至少有一个书签,您都希望注册每个
newz
如果您想这样做,我建议将$scope.bookmarkstate
设置为与newz
数组大小相同的数组
这样,如果“newz”
数组中的对应单元格是否包含书签,则可以在其每个单元格中注册
if(data.Status.ResponseCode == 200)
{
$scope.bookmarkstate = [];
$("#fetchnews").hide();
$("#sError").hide();
$scope.newz = data.contents;
$scope.bookmarkData = JSON.parse(window.localStorage.getItem('bookmark'));
for (var i=0; i < $scope.newz.length; i++)
{
for (var j=0; j < $scope.bookmarkData.data.length; j++)
{
if ($scope.newz[i].ContentId == $scope.bookmarkData.data[j].ContentId)
{
$scope.bookmarkstate[i] == true;
}
else
{
$scope.bookmarkstate[i] == false;
}
}
}
$scope.AllnewsList = $scope.newz;
}
if(data.Status.ResponseCode==200)
{
$scope.bookmarkstate=[];
$(“#fetchnews”).hide();
$(“sError”).hide();
$scope.newz=data.contents;
$scope.bookmarkData=JSON.parse(window.localStorage.getItem('bookmark');
对于(变量i=0;i<$scope.newz.length;i++)
{
对于(var j=0;j<$scope.bookmarkData.data.length;j++)
{
if($scope.newz[i].ContentId==$scope.bookmarkData.data[j].ContentId)
{
$scope.bookmarkstate[i]==true;
}
其他的
{
$scope.bookmarkstate[i]==false;
}
}
}
$scope.AllnewsList=$scope.newz;
}
让我知道你是怎么做到的。
干杯。假设您在评论中提到的键和动态数据,我用以下方式定义了您的数组 如果我误解了你的问题,请纠正我
var newz=[{contentId:1,来源:'demoSrc1',标题:'title1'},
{contentId:2,来源:'demoSrc2',标题:'title2'},
{contentId:3,来源:'demoSrc3',标题:'title3'},
{contentId:4,来源:'demoSrc4',标题:'title4'},
{contentId:5,来源:'demoSrc5',标题:'title5'},
{contentId:6,来源:'demoSrc6',标题:'title6'},
{contentId:7,来源:'demoSrc7',标题:'title7'},
{contentId:8,来源:'demoSrc8',标题:'title8'}];
//为了简单起见,我静态地定义了newz。
var bookmarkData=[{contentId:1,来源:'demoSrc1',标题:'title1'},
{contentId:4,来源:'demoSrc4',标题:'title4'},
{contentId:6,来源:'demoSrc6',标题:'title6'},
{contentId:8,来源:'demoSrc8',标题:'title8'}];
//类似地,id静态地定义了书签数据。
var AllnewsList=[];
对于(变量i=0;i console.log(AllnewsList)代码>假设您在注释中提到的键,并假设动态数据,我用以下方式定义了您的数组
如果我误解了你的问题,请纠正我
var newz=[{contentId:1,来源:'demoSrc1',标题:'title1'},
{contentId:2,来源:'demoSrc2',标题:'title2'},
{contentId:3,来源:'demoSrc3',标题:'title3'},
{contentId:4,来源:'demoSrc4',标题:'title4'},
{contentId:5,来源:'demoSrc5',标题:'title5'},
{contentId:6,来源:'demoSrc6',标题:'title6'},
{contentId:7,来源:'demoSrc7',标题:'title7'},
{内容