gpt4 book ai didi

javascript函数来递增数组

转载 作者:行者123 更新时间:2023-12-04 02:16:25 25 4
gpt4 key购买 nike

我正在使用一个函数根据传递给它的值来递增数组中的值。

function depth(x) {
var dep = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];

if (x < 10) {
var deps = dep[0];
dep[0] = deps + 1;

} else if (x >= 10 && x < 20) {
var deps = dep[1];
dep[1] = deps + 1;

} else if (x >= 20 && x < 30) {
var deps = dep[2];
dep[2] = deps + 1;

} else if (x >= 30 && x < 40) {
var deps = dep[3];
dep[3] = deps + 1;

} else if (x >= 40 && x < 50) {
var dep2 = dep[4];
dep[4] = deps + 1;

} else if (x >= 50 && x < 60) {
var deps = dep[5];
dep[5] = deps + 1;

} else if (x >= 60 && x < 70) {
var deps = dep[6];
dep[6] = deps + 1;

} else if (x >= 70 && x < 80) {
var deps = dep[7];
dep[7] = deps + 1;

} else if (x >= 80 && x < 90) {
var deps = dep[8];
dep[8] = dep2 + 1;

} else if (x >= 90 && x < 100) {
var deps = dep[9];
dep[9] = dep2 + 1;

} else if (x >= 100 && x < 110) {
var deps = dep[10];
dep[10] = deps + 1;


} else if (x >= 110 && x < 120) {
var deps = dep[11];
dep[11] = deps + 1;

} else if (x >= 120 && x < 130) {
var deps = dep[12];
dep[12] = deps + 1;

} else if (x >= 130 && x < 140) {
var deps = dep[13];
dep[13] = deps + 1;

} else if (x >= 140 && x < 150) {
var dep2 = dep[14];
dep[14] = deps + 1;

} else if (x >= 150 && x < 160) {
var deps = dep[15];
dep[15] = deps + 1;


} else if (x >= 160 && x < 170) {
var deps = dep[16];
dep[16] = deps + 1;

} else if (x >= 170 && x < 180) {
var deps = dep[17];
dep[17] = deps + 1;

} else if (x >= 180 && x < 190) {
var deps = dep[18];
dep[18] = dep2 + 1;

} else if (x >= 190 && x < 200) {
var deps = dep[19];
dep[19] = dep2 + 1;

} else {
var dep2 = dep[10];
dep[20] = dep2 + 1;

}

}

我的问题是,是否有更简洁的方法来执行此操作,或者我是否需要为每个可能的变量编写一个 else if 语句?

最佳答案

除了您的 else 语句之外,这里还有一个清晰的模式。因此,最简单的做法是对此进行异常(exception)处理,然后将其余部分一起处理。

function depth(x) {
var dep = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
if (x >= 200) { // case for anything above 200
return dep[20] = dep[10] + 1;
}
dep[Math.floor(x/10)]++;
}

你的 else 案例让它变得有点困惑,但总的来说,这是一种 1 liner 的东西。

关于javascript函数来递增数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com