Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何将搜索结果的数量限制为10,同时删除添加到数组中的每个项目?_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 我如何将搜索结果的数量限制为10,同时删除添加到数组中的每个项目?

Javascript 我如何将搜索结果的数量限制为10,同时删除添加到数组中的每个项目?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我创建了一个for循环,将我的列表限制为仅显示最后10个搜索结果,但似乎无法将对象数组的()索引[0]移开,以便删除最早的结果,并将最新的结果放在数组的末尾: for(设i=0;i10){ console.log(searchHistory[i]); searchHistory[i].shift(); } } searchHistory的console.log= searchHistory[i]=的console.log如果您的目标是限制数组的长度,则不需要循环切片() searchHisto

我创建了一个for循环,将我的列表限制为仅显示最后10个搜索结果,但似乎无法将对象数组的()索引[0]移开,以便删除最早的结果,并将最新的结果放在数组的末尾:

for(设i=0;i10){
console.log(searchHistory[i]);
searchHistory[i].shift();
}
}
searchHistory的console.log=


searchHistory[i]=

的console.log如果您的目标是限制数组的长度,则不需要循环<代码>切片()

searchHistory = searchHistory.slice(-10);

请注意,这也消除了对
if
条件的需要。

要将数组限制为最后10个元素,请使用:

searchHistory.slice(-10);
因此,要显示最后10个选项,请使用:

if( searchHistory.length > 10 ) {
    searchHistory.slice(-10).forEach(s => console.log( s ));
}
演示

const searchHistory=[4,5,6,67,32,1,3,4,5,9,10,12,13,4,66,67,78,90];
//一次显示最后10个-阵列
log(searchHistory.slice(-10));
//显示最后10个,一次显示一个
如果(searchHistory.length>10){
searchHistory.slice(-10).forEach(s=>console.log);

}
我正在尝试限制数组,但我的问题似乎是首先要获取对象的值>。我不太清楚您的意思。要获取对象的
city
值,请通过对象循环,或通过索引单独访问,例如
searchHistory[0]。city
很抱歉出现混淆,但这就是为什么在运行代码时出现for循环><,我会得到以下错误:(“未捕获类型错误:searchHistory[I]。shift不是函数”因为属性名是
city
,而不是
shift
。我在作为searchHistory.city.shift()编写时遇到了相同的错误,其中.shift()要删除数组中的第一个元素。问题和标题是两个不同的问题。请对此进行编辑以更清楚。