【发布时间】:2020-04-29 14:14:30
【问题描述】:
我有一组对象,我试图根据 URL 在不同的索引处切片。
data.Results.Data 是我的数组。
当控制台记录我的arrList 时,我声明了一个变量arrList 等于data.Results.Data,我看到了我期待的结果。
当开始我的条件并在不同的索引处切片然后 console.logging 数组时,我得到的是整个数组而不是我期望的切片数组。
这是我的代码:
function retrieveData(data) {
const arrList = data.Results.Data;
const urlStr = window.location.pathname;
if (urlStr.includes("/states/")) {
arrList.slice(23, 46);
console.log(arrList, "Slice");
} else if (urlStr.includes("/countries/")) {
arrList.slice(46, 69);
console.log(arrList, "Slice");
} else if (urlStr.includes("/cities/")) {
arrList.slice(69, 90);
console.log(arrList, "Slice");
}
}
我尝试在有效的条件语句中声明arrList,但我希望变量arrList 在函数的整个范围内都可用。我希望在满足条件时看到切片数组。
【问题讨论】:
-
是错字还是故意的??
arrList.Slice大写切片 -
抱歉不是,应该是arrList.slice。已编辑
-
您可以创建一个新变量并将原始数组分配给它,然后像这样切片: arr = arr.slice(beginning,end);并深度复制一个对象,以便您真正保持原始完整,您可以这样做: arr = JSON.parse(JSON.stringify(arrList))
标签: javascript arrays slice