let arr = areaData let input = 42 for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; j++) { for (let k = 0; k < arr[i][j].length; k++) { // console.log(arr[i][j][k]) let data = arr[i][j][k].value // console.log(data); // let num1 = parseInt(data.splice(0.2)) // const filteredArr = arr.filter(data => data.startsWith(input)); if (data.indexOf(input) === 0) { console.log('字符串以 input 开头',data) } } } }优化这段代码
时间: 2023-07-16 12:17:12 浏览: 88
这段代码可以使用数组的 forEach 方法来简化循环。同时,不需要将字符串转换为数字,只需要判断是否以输入的数字字符串开头即可。
可以尝试这样优化:
```
let input = '42'; // 注意这里是字符串类型
areaData.forEach(province => {
province.forEach(city => {
city.forEach(area => {
let data = area.value;
if (data.startsWith(input)) {
console.log('字符串以 input 开头', data);
}
});
});
});
```
这样代码更加简洁易懂,也更易于维护和扩展。
阅读全文