Javascript 将项目存储在数组中,以后再使用它们
我有代码,它从服务器获取json文件,然后在页面上呈现它的一些元素。在这段代码中,我还跳过了关键点值重复的项目。我的问题是,我如何将这些跳过的项目存储在某个地方,这样,如果我单击有重复项的项目,它会将我链接到其他页面,其中包含这些重复项的列表? 这是我的密码Javascript 将项目存储在数组中,以后再使用它们,javascript,jquery,ajax,arrays,json,Javascript,Jquery,Ajax,Arrays,Json,我有代码,它从服务器获取json文件,然后在页面上呈现它的一些元素。在这段代码中,我还跳过了关键点值重复的项目。我的问题是,我如何将这些跳过的项目存储在某个地方,这样,如果我单击有重复项的项目,它会将我链接到其他页面,其中包含这些重复项的列表? 这是我的密码 var request = $.ajax({ type: "GET", url: "example.com/rewards.json" dataType: "json", error: function (data,
var request = $.ajax({
type: "GET",
url: "example.com/rewards.json"
dataType: "json",
error: function (data, textStatus){
console.log( "it`s error" );
console.log( status );
console.log( data );},
success: function (data, textStatus){
console.log( "success" );
console.log( status );
console.log( data );
}
})
request.success(function(data, textStatus){
var lis = "";
var arr = [];
var iter = 0;
$.each(data.rewards, function(key, val){
if ($.inArray(val.points, arr) == -1)
{
lis += "<div class = 'ui-block-" + String.fromCharCode(97 + iter%3) + "'><a href ='#' class ='ui-link-inherit'>" + val.points + "</a></div>";
arr.push(val.points);
iter += 1;
}
});
$("#rewards_table").html(lis);
})
var请求=$.ajax({
键入:“获取”,
url:“example.com/rewards.json”
数据类型:“json”,
错误:函数(数据、文本状态){
log(“它的错误”);
控制台日志(状态);
console.log(数据);},
成功:功能(数据、文本状态){
控制台日志(“成功”);
控制台日志(状态);
控制台日志(数据);
}
})
请求成功(功能(数据、文本状态){
var lis=“”;
var-arr=[];
var-iter=0;
$.each(数据、奖励、功能(键、val){
如果($.inArray(val.points,arr)=-1)
{
lis+=”;
arr.push(val.points);
iter+=1;
}
});
$(“#奖励表”).html(lis);
})
对我想要的东西的描述可能会有点混乱,所以请随意问我任何问题。你只需要做的就是:将它们存储在某个地方供以后使用 例如,将这一行放在代码的顶部:
var duplicates = [];
…并将此else
添加到$中的if
。每个迭代器函数:
else
{
duplicates.push(val.points);
}
(我想我很了解你的支撑风格,对我来说有点陌生。:-)
以上假设您的所有代码都保存在某种包含函数中,以避免创建全局,因此副本
(如您现有的请求
变量)不会最终成为全局变量。您是否希望保留数组以备将来使用?我认为一个具体的示例会有所帮助。也就是说,显示一些示例数据,例如结构,以及“其他页面”的外观。我不太明白如何将新数组与呈现的重复项链接。我是否需要为每个重复的项目创建新数组?@sannySin:在您现有的代码中,您正在根据val.points
的值“链接”它们。因此,如果渲染元素具有给定的val.points
值(元素a
的文本),并且在duplicates
中有一个匹配的val.points
值,则链接它们。不,您不需要为每个重复项使用不同的数组,只需要一个包含所有重复项的数组。如果您需要val
中的其他信息,请存储val
而不是val.points
,然后使用$搜索数组。每个而不是$。inaray
(将您拥有的points
值与每个条目的points
属性进行比较)。