如何在本地存储项目Javascript HTML5上设置项目限制
我试图将6个项目限制为localstorage,并将这些项目检索回来。例如,如果用户在id为#gsc-i-id2的输入框中键入数据并单击.gsc-search-button-v2,数据将存储在localstorage中,这一切都可以正常工作,但我想在我尝试使用的代码中限制为最近的6个输入。shift,但我对localstorage和js非常陌生,我不确定我在这里做错了什么。它只显示6个项目,但不会把项目弄糟。任何帮助都将不胜感激如何在本地存储项目Javascript HTML5上设置项目限制,javascript,html,storage,local,Javascript,Html,Storage,Local,我试图将6个项目限制为localstorage,并将这些项目检索回来。例如,如果用户在id为#gsc-i-id2的输入框中键入数据并单击.gsc-search-button-v2,数据将存储在localstorage中,这一切都可以正常工作,但我想在我尝试使用的代码中限制为最近的6个输入。shift,但我对localstorage和js非常陌生,我不确定我在这里做错了什么。它只显示6个项目,但不会把项目弄糟。任何帮助都将不胜感激 (函数(){ var propertiesList=docume
(函数(){
var propertiesList=document.getElementById('list');
var-myProperties;
var-obj;
if(window.localStorage.getItem('Address')){
显示存储();
}
//用于在页面加载时显示本地存储内容的函数
函数displayStorage(){
var数据=”;
myProperties=JSON.parse(localStorage.getItem('Address');
//如果本地存储阵列不为空
如果(myProperties.length!==0){
对于(var i=0;i5){
myProperties.shift(li);
}否则{
propertiesList.appendChild(li);
}
}
}());代码>
搜索
我理解这个问题。如果您只想打印最新的5个地址,则可以尝试以下方法:
if(len>5){
for(var j = len; j>= len - 5; j++){
.... // Write here what you want to do with the last five values
}
}
我知道您只想在localstorage上保存6个最近的项目
由于您不能直接在localstorage上设置规则,因此我建议您在这种情况下如何在localstorage上保存数据:
向数组中添加项后,请检查数据数组的长度
如果数组长度超过6,请删除数组的第一项
将阵列数据保存在localstorage上
我提供了上述过程的代码片段
// add code here for adding an item to the array
if(exceedsPropertiesLengthLimit(myProperties)) {
myProperties.shift();
}
// add code here for saving the array data on localstorage
function exceedsPropertiesLengthLimit(properties) {
let limitLength = 6;
let exceedsLimit = false;
if(properties.length > limitLength) {
exceedsLimit = true;
}
return exceedsLimit;
}
请将您的HTML作为共享文件共享。谢谢。我建议您将DOM操作代码和与localstorage交互的代码分开。这将使代码对那些看你问题的人来说更具可读性!谢谢,我添加了最小的html,但我不确定如何将其分离用于DOM操作,因此我在github repo上查看了一个将本地存储方法组织到每个函数中的示例。这将帮助您将本地存储操作与DOM操作分离。感谢您的帮助,但我似乎无法准确地将代码放置在我的代码中以使其正常工作?我认为应该将其插入myProperties.push(obj)
之后的行中,如果您在该行中向数组添加项目的话。祝你好运非常感谢库塔,这正是我想要的:)