Задать вопрос
@kr_ilya

Как упростить код?

Как можно упростить код и избавиться от большого числа условий?

//Для шага = 50
var dataHists = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
		var labelsHists = ['0-50', '50-100', '100-150', '150-200', '200-250', '250-300', '300-350', '400-450', '450-500', '500-550', '550-600', '600-650', '650-700', '750-800', '850-900', '900-950', '950-1000'];
		for (var i = 0; i < data.length; i++) {
			if(data[i] >= 0 && data[i] <= 50e3){
				dataHists[0] +=1;
			}else if(data[i] >=50e3 && data[i] <= 100e3){
				dataHists[1] +=1;
			}else if (data[i] >=100e3 && data[i] <= 150e3){
				dataHists[2] +=1;
			}else if (data[i] >=150e3 && data[i] <= 200e3){
				dataHists[3] +=1;
			}else if (data[i] >=200e3 && data[i] <= 250e3){
				dataHists[4] +=1;
			}else if (data[i] >=250e3 && data[i] <= 300e3){
				dataHists[5] +=1;
			}else if (data[i] >=300e3 && data[i] <= 350e3){
				dataHists[6] +=1;
			}else if (data[i] >=350e3 && data[i] <= 400e3){
				dataHists[7] +=1;
			}else if (data[i] >=350e3 && data[i] <= 400e3){
				dataHists[7] +=1;
			}else if (data[i] >=400e3 && data[i] <= 450e3){
				dataHists[8] +=1;
			}else if (data[i] >=450e3 && data[i] <= 500e3){
				dataHists[9] +=1;
			}else if (data[i] >=500e3 && data[i] <= 550e3){
				dataHists[10] +=1;
			}else if (data[i] >=550e3 && data[i] <= 600e3){
				dataHists[11] +=1;
			}else if (data[i] >=600e3 && data[i] <= 650e3){
				dataHists[12] +=1;
			}else if (data[i] >=650e3 && data[i] <= 700e3){
				dataHists[13] +=1;
			}else if (data[i] >=700e3 && data[i] <= 750e3){
				dataHists[14] +=1;
			}else if (data[i] >=750e3 && data[i] <= 800e3){
				dataHists[15] +=1;
			}else if (data[i] >=800e3 && data[i] <= 850e3){
				dataHists[16] +=1;
			}else if (data[i] >=850e3 && data[i] <= 900e3){
				dataHists[17] +=1;
			}else if (data[i] >=900e3 && data[i] <= 950e3){
				dataHists[18] +=1;
			}else{
				dataHists[19] +=1;
			}
		}


data
[354372, 349152, 314119, 383235, 530970, 389373, 543311, 427686, 394206, 442009, 660985, 968479, 219153, 851687, 771067, 896660, 828853, 181166, 525449, 967932, 959817, 985885, 760567, 370711, 681273, 598583, 822489, 389083, 555191, 871829, 274530, 875920, 152664, 512977, 292428, 789712, 248290, 443415, 185013, 37871, 900226, 444057, 306325, 967960, 13110, 552841, 953659, 591280, 61985, 989577, 174840, 370120, 303452, 433554, 413870, 158599, 475844, 125379, 902623, 16825, 311596, 587108, 976650, 130480, 183069, 272984, 581067, 346266, 295617, 879156, 521764, 229658, 32292, 772364, 673663, 844598, 376497, 768448, 146096, 962216, 992593, 385960, 890075, 791250, 454908, 217862, 739573, 496436, 83612, 25400, 892104, 753493, 279328, 562602, 622884, 941577, 521626, 328887, 551102, 555178, 633304, 371258, 315400, 468563, 907245, 564059, 531831, 938056, 194366, 805014, 703495, 837297, 987530, 819838, 390309, 826782, 911690, 274722, 987601, 655076, 368655, 492785, 249946, 871555, 573294, 753200, 801619, 945128, 314170, 750941, 345309, 342178, 601289, 861403, 677076, 112454, 957937, 227864, 707970, 80180, 245281, 453715, 644343, 745490, 725590, 887314, 979407, 782152, 479562, 887552, 351953, 685101, 192013, 1683, 672984, 807253, 597092, 533037, 655098, 936363, 988675, 146088, 380831, 375074, 575464, 966396, 323425, 474851, 931040, 856071, 961267, 61593, 387792, 399988, 934849, 639195, 678577, 720036, 265416, 239262, 341093, 572156, 246128, 955717, 944073, 811, 548904, 424956, 878373, 999744, 877470, 783750, 537460, 754154, 277631, 314240, 740916, 119753, 389639, 319254, 163705, 158392, 44124, 860737, 478988, 760959, 838294, 996588, 78482, 997060, 802299, 886557, 289943, 40254, 748348, 751125, 442170, 197418, 307142, 821051, 45312, 558815, 401913, 470118, 45921, 750829, 989103, 425702, 359028, 220412, 988862, 992020, 448438, 653741, 16503, 907757, 571246, 436582, 44566, 747276, 333553, 423566, 283351, 745116, 213859, 15269, 548391, 403959, 25235, 782678, 166079, 202284, 999460, 194636, 714972, 323017, 74026, 300676, 752843, 855236, 594342, 529049, 256604, 41979, 129587, 46687, 62002, 603476, 518151, 648715, 723582, 18136, 829846, 969908, 127441, 871414, 671414, 183666, 902301, 878725, 411811, 560207, 819071, 839855, 320255, 558112, 67031, 652462, 129573, 485499, 667088, 716687, 385998, 897591, 714745, 500595, 125298, 923275, 851319, 170013, 328774, 65738, 15423, 503464, 471923, 37254, 443955, 163643, 535038, 176851, 206292, 924721, 965196, 77335, 782332, 391791, 94155, 487013, 278454, 427204, 789698, 115170, 363357, 330930, 549990, 537659, 418270, 792637, 665880, 239129, 261415, 947268, 824900, 423415, 549688, 411367, 947498, 757884, 252975, 460986, 849190, 264252, 666322, 790283, 951426, 953597, 868570, 66651, 364948, 109057, 836363, 75272, 960769, 814277, 473630, 557856, 592869, 858662, 41858, 404593, 946219, 30412, 204059, 519854, 332122, 25992, 143909, 282249, 990206, 470943, 327574, 774820, 205897, 484820, 41064, 173153, 347304, 706871, 92777, 736691, 803795, 778875, 974313, 395229, 648817, 395029, 779453, 420039, 780605, 843085, 771578, 786652, 443140, 270476, 227707, 476471, 753726, 692716, 151197, 443360, 801763, 625894, 141395, 883700, 11612, 481743, 300183, 129481, 656710, 132395, 877740, 626836, 414655, 608423, 941494, 738792, 996349, 92943, 667654, 265897, 844199, 440203, 571718, 99491, 532538, 977377, 126828, 971591, 677189, 941065, 455999, 154930, 781795, 34870, 570096, 542080, 787593, 407576, 711863, 1304, 155664, 459, 260359, 99378, 387538, 485914, 673145, 685647, 618049, 359335, 547578, 815304, 851102, 210348, 451300, 476920, 164367, 817946, 782530, 874358, 1305, 60809, 695360, 446581, 135817, 274529, 239302, 330059, 840087, 610782, 162352, 716398, 229391, 624971, 591303, 131326, 885558, 744817, 85140, 3526, 760856, 580213, 480541, 81971, 404727, 925408, 459479, 838016, 74231, 643781, 542545, 106952, 742867, 717633, 297215, 806266, 305572, 531678, 341596, 272210, 603814, 192892, 728548, 796447, 302554, 276519, 482668, 62538, 915940, 179581, 764807, 972699, 877551, 482743, 569068, 896212, 816101, 758633, 804287, 1521, 419033, 849179, 938954, 194265, 804210, 472479, 774923, 815006, 161047, 222013, 378093, 20851, 185332, 96057, 606456, 652167, 141642, 278672, 796534, 265904, 241247, 519972, 522966, 6182, 336060, 146743, 461248, 762606, 237154, 493702, 110697, 38567, 498041, 815384, 881670, 146197, 314599, 587117, 105788, 248383, 200497, 960393, 240631, 995795, 218197, 174122, 747544, 106522, 480050, 354060, 76938, 371299, 756979, 790284, 319202, 892499, 571642, 550496, 207012, 7528, 780865, 530032, 280178, 281854, 295730, 719958, 46561, 369855, 721699, 616015, 62746, 252045, 824055, 17491, 328007, 390022, 523233, 126753, 932690, 824491, 892006, 282002, 304211, 468408, 703866, 950133, 751299, 271676, 694508, 493046, 948816, 278193, 279563, 673603, 657949, 712968, 961107, 971564, 28838, 872443, 801202, 927362, 914649, 332202, 156918, 303851, 19816, 208677, 234618, 761654, 256567, 975238, 721204, 322632, 728224, 6522, 76885, 132439, 606657, 73639, 662860, 317793, 272958, 194631, 217139, 941785, 800486, 26024, 363526, 231419, 278642, 25303, 619516, 978085, 798764]


Так же нужно что бы можно было сделать данный код для шага = 10, т.е в 5 раз больше условий.
Как то это всё надо сократить и не писать примерно одно и тоже.
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
dataHists[Math.floor(data[i]/50000)] +=1;
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы