编辑代码

// 随机长度1000的数组
const randText = '864 409 1585 1368 876 1486 1311 741 1494 1531 210 533 1025 701 1369 1730 577 492 553 1182 406 1861 539 1191 798 1450 797 674 1633 534 1421 1254 171 137 501 1550 1239 1328 1326 597 719 942 1587 997 655 1562 699 1826 1333 152 1475 843 584 1297 1563 1119 138 582 1041 484 1509 55 1727 1820 813 464 291 196 1536 240 793 1053 273 1519 285 1710 885 1358 1685 901 941 176 1636 1660 1616 851 770 1746 1790 1199 1070 750 31 8 748 180 1162 265 1066 1363 1126 628 27 1287 1376 559 467 218 258 201 1841 721 909 1008 369 624 1117 370 970 331 1250 1396 1768 787 399 687 796 1238 206 1382 1502 859 791 1860 1627 902 831 895 1681 1122 586 640 1354 232 1816 1892 1349 1138 80 1093 446 1504 195 1551 565 1744 1196 1141 922 1448 1258 24 36 1281 889 1528 1295 1441 1197 1574 694 1852 1898 733 1356 953 1077 498 287 1364 869 682 573 1305 181 967 726 1920 1734 1102 1568 1781 1106 858 1711 1293 1007 214 90 1082 154 1367 1089 10 1395 838 987 290 1321 1423 1169 847 1131 4 410 1022 532 892 29 1065 913 1081 417 1327 1523 1407 1905 1012 509 1629 944 992 1561 93 857 9 342 1498 705 716 251 911 72 1329 1829 127 124 1288 133 505 642 1123 1014 1612 1464 1547 579 1449 730 836 1842 1365 1226 754 318 1259 278 650 1758 1728 631 1083 1453 1516 167 1879 302 672 1507 1859 1543 355 241 893 1408 632 1904 317 1620 1203 1318 249 570 1487 134 778 529 714 1466 1773 1500 1282 1548 1344 734 339 1309 1792 128 1886 144 1832 1489 1762 1398 159 256 1410 1212 1064 61 1436 91 243 487 1652 280 535 661 1027 56 1676 147 1595 28 1867 259 1051 368 1443 669 117 113 824 162 1406 1763 238 471 641 552 416 217 1484 491 1213 666 723 1151 1232 352 949 537 1114 753 188 373 680 544 1030 1216 1598 1324 991 170 358 412 1491 282 1914 1204 561 708 1688 1851 1351 1846 1600 1039 1827 1800 1619 692 1294 1672 126 886 404 1630 861 1601 1155 233 1113 25 1201 1740 1739 455 629 219 558 1771 1275 1769 1253 574 460 1666 6 822 1557 774 1166 1171 717 1178 189 33 896 19 1373 845 854 321 449 54 827 690 1683 447 102 1844 1834 1360 1707 1021 1248 1252 1210 850 1345 1104 1079 560 341 1220 328 644 946 37 1485 47 1458 588 613 336 1869 1765 1337 1426 203 262 1823 398 1902 441 42 332 360 413 920 1262 1801 1323 837 338 1822 123 193 163 198 1185 436 839 1303 591 873 762 108 1268 1355 1538 83 735 998 1361 1460 431 411 381 333 830 89 1907 16 320 253 568 470 510 623 1061 1698 444 1745 654 894 418 453 874 1384 424 1346 1910 1362 266 141 323 1054 1836 1316 918 1759 956 1133 887 643 1884 1544 421 1416 1129 1521 480 507 937 1174 1917 275 769 182 1881 1693 1715 150 1215 1086 1810 747 761 1217 689 1658 1359 38 1385 1833 1609 435 457 645 1377 1020 1482 1784 846 1313 276 1267 1478 555 1392 1175 1871 432 135 1549 1588 382 1754 493 1340 678 1046 630 951 173 1394 384 1247 919 625 1244 840 1581 664 454 516 99 905 1677 1712 1512 742 622 45 960 396 343 1260 125 1159 969 781 1577 130 1839 1783 691 1292 1462 1650 563 1144 693 1424 1120 1444 1440 870 164 1501 1035 638 481 1638 1094 305 1722 526 1107 87 1124 1817 1599 1140 227 300 356 1918 1090 1505 228 1896 1218 361 817 1843 1766 508 475 366 84 1750 1125 578 77 39 1643 1370 1699 1284 737 44 978 49 567 1033 1195 974 1009 1815 1610 118 543 367 884 268 1256 528 511 414 242 1243 1894 324 348 140 981 248 504 52 1306 1664 1889 364 935 316 513 801 1663 782 1813 1235 1455 1279 1793 1146 1584 304 1818 1714 1413 473 1173 1653 670 1432 899 1648 1404 1865 790 426 221 107 1537 1115 378 1770 662 1875 1135 1589 1214 1499 621 1649 1696 310 1614 809 191 145 647 722 1341 1339 1387 1184 931 1338 1539 637 512 1678 1880 458 1442 811 264 795 933 788 1888 226 177 1690 1641 829 1597 1669 1607 1037 805 820 667 814 465 1529 707 1308 322 983 1473 1068 1004 1043 311 1756 1797 1255 1718 111 1692 1635 185 1393 732 68 272 610 438 1425 499 917 1264 1694 952 286 1319 1331 315 1095 542 1375 1080 1593 215 1890 1542 877 1 330 1251 1899 362 520 1748 1526 1554 255 459 1622 993 844 407 1795 1285 743 380 1183 589 1668 1474 1559 1400 103 420 834 939 768 704 679 712 292 566 1148 1883 934 437 618 688 883 940 1481 1667 456 1540 587 1357 1265 257 1101 148 1334 1700 1277 1276 337 1855 1459 1634 1336 344 718 1868 295 1901 593 1483 982 1786 833 1767 1830 1535 234 146 1273 18 32 1457 1751 763 1225 158 1625 1062 1342 536 445 698 157 1687 1533 766 1517 1680 1592 976 142 1198 1656 1534 448 1372 808 771 649 594 549 174 1776 802 1511 1708 1819 1876 1522 1156 104 646 160 1434 1791 1097 423 926 700 612 668 1283 1315 119 277 1831 785 1566 1403 483 1017 1158 1105 614 301 973 1555 374'
// 转为正序number数组
const arr = randText.split(' ').sort((a,b)=>a-b).map(i=>parseInt(i))
arr.map(i=>parseInt(i))

function searching(traget){
    console.time("searching运行耗时");
    let start = 0
    ,end= arr.length-1
    ,middle
    ,elem

    while(start<=end){
        middle = Math.floor((start+end)/2)
        elem = arr[middle]
        if(elem === traget){
            return middle
        }else if(traget<elem){
            end = middle-1
        }else if(traget>elem){
            start = middle +1
        }
    }
    return -1
}

let traget = 1311
console.time("indexOf运行耗时");
console.log(arr.indexOf(1369))
console.timeEnd("indexOf运行耗时");
console.log(searching(traget))
console.timeEnd("searching运行耗时");