日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6-1 数组函数练习

發布時間:2023/12/2 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6-1 数组函数练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、引用

/* var num = 10;function show(num){num ;alert(num);}alert(num); //10show(num); //11 num = numalert(num); //10*//*引用*//*var arr = [1, 2, 3, 4];function show(arr){arr.push("hello");alert(arr);}alert(arr); //[1, 2, 3, 4]show(arr); //[1, 2, 3, 4, "hello"]alert(arr); //[1, 2, 3, 4, "hello"]*/

2、引用排序函數

<html lang="en"><head><meta charset="UTF-8"><title>Document</title><script src = "tool.js"></script><script>var arr = [10, 9, 5, 1, 2, 6, 7];// bubbleSort(arr);selectSort(arr);alert(arr);</script></head><body></body> </html>

3、return

/*function add(num1, num2){var b = num1 num2;return "hello";}*/ /*1、確定你的函數要不要結果。2、return語法,return后面寫什么,外面拿到的值,就是return后面的表達式。*//*var res = add(10, 20);alert(res);*/

4、arguments

function show(){alert(arguments.length);alert(arguments); //輸出:object Arguments}show(1, 2, 3);var arr = [1, 2, 3, 4, 5];show(arr);

5、習題

1、有一個從小到大排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。([2,3,4,56,67,98] //63
2、編寫函數map(arr) 把數組中的每一位數字都增加30%
3、編寫函數has(arr , 60) 判斷數組中是否存在60這個元素,返回布爾類型
/*var arr = [2,3,4,56,67,98];var num = 63;for(var i = 0; i < arr.length; i ){if(arr[i] > num){arr.splice(i, 0, num);break;}}*/// alert(arr);/*關鍵:找出第一個第一個比該數大的數*/var arr = [10, 20, 30, 40, 60];function map(arr){for(var i = 0; i < arr.length; i ){arr[i] = arr[i] * 1.3;}}/*map(arr);alert(arr);*/function has(arr, num){var isHas = false; //假設沒有for(var i = 0; i < arr.length; i ){if(arr[i] == num){isHas = true;break;}}return isHas;}var res = has(arr, 60);alert(res);
4、生成13位條形碼(對之前的知識綜合練習)
Ean-13碼規則:第十三位數字是前十二位數字經過計算得到的校驗碼。?例如:690123456789?第三位計算其校驗碼的過程為:?1、前十二位的奇數位和6 0 2 4 6 8=26?2、前十二位的偶數位和9 1 3 5 7 9=34?3、將奇數和與偶數和的三倍相加26 34*3=128?4、取結果的個位數:128的個位數為8?5、用10減去這個個位數10-8=2?所以校驗碼為2(注:如果取結果的個位數為0,那么校驗碼不是(10-0=10),而是0)實現方法ean13()計算驗證碼,輸入12位條碼,返回帶驗證碼的條碼。?例如:輸入:692223361219輸出:6922233612192//想辦法將這個十二位數拆成每一位//69012345678function barCode(num){//1、分別取出每一位數var numArr = []; //存儲取下來的每一位數while(1){if(num == 0){break;}numArr.push(num % 10);num = parseInt(num / 10);}numArr.reverse();//2、求奇數和和偶數和var odd = 0;var even = 0;for(var i = 0; i < numArr.length; i ){if(i % 2 == 0){//奇數位odd = numArr[i];}else{//偶數位even = numArr[i];}}//3、var tmp = (odd even * 3) % 10;if(tmp != 0){tmp = 10 - tmp;}numArr.push(tmp);return Number(numArr.join(""));}var res = barCode(690123456789?);alert(res);
5、編寫函數norepeat(arr) 將數組的重復元素去掉,并返回新的數組

/*
倒著刪除
【注】凡是遍歷數據去重,都倒著刪除。
*/

function noRepeat(arr){//去重//選擇arr.length - 1個數 和后面進行比較//i選出的數/*for(var i = 0; i < arr.length - 1; i ){//j被比的數for(var j = i 1; j < arr.length; j ){if(arr[i] == arr[j]){arr.splice(j, 1);}}}*/for(var i = arr.length - 1; i > 0; i--){for(var j = i - 1; j >= 0; j--){if(arr[i] == arr[j]){arr.splice(j, 1);}}}}var arr = [10, 20, 20, 20, 30, 20, 40, 50];noRepeat(arr);alert(arr);
6、猴子吃桃

最強王者法則:
1、找出臨界值,臨界值就是,不用計算,直接心算得出的值。
2、找出第n次和n-1次的關系
3、假設函數已經可以使用,寫出n和n-1之間的公式。

有一堆桃子不知數目,猴子第一天吃掉一半,覺得不過癮,又多吃了一只,第二天照此辦法,吃掉剩下桃子的一半另加一只,天天如此,到第num(num <= 10)天早上,猴子發現只剩一只桃子了,問這堆桃子原來有多少只?n為還剩n天吃完的桃子數分析:peach(10) / 2 - 1 = peach(9);peach(10) = (peach(9) 1) * 2;peach(n) = (peach(n - 1) 1) * 2;function peach(n){if(n == 1){return 1;}return (peach(n - 1) 1) * 2;}//46var res = peach(5);alert(res);
7、密文
/*某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:1、每位數字都加上5,2、然后用除以10的余數代替該數字,3、再將第一位和第四位交換,4、第二位和第三位交換,請編寫一個函數,傳入原文,輸出密文*///4 3 2 1function ciphertext(num){//1、拆成數組var numArr = [];while(1){if(num == 0){break;}numArr.push(num % 10);num = parseInt(num / 10);}for(var i = 0; i < numArr.length; i ){numArr[i] = 5;numArr[i] = numArr[i] % 10;}return Number(numArr.join(""));}var res = ciphertext(1234);alert(res);
8、計算器
<head><meta charset="UTF-8"><title>Document</title></head><body><input type="text" id = "num1" placeholder="請輸入第一個數"><input type="text" id = "num2" placeholder="請輸入第二個數"><!-- 點擊按鈕以后,執行后續字符串中的代碼--><button onclick = "btnClick(' ');"> </button><button onclick = "btnClick('-');">-</button><button onclick = "btnClick('/');">/</button><button onclick = "btnClick('*');">*</button><button onclick = "btnClick('%');">%</button></body><script>function btnClick(operator){// alert(operator); var oNum1 = Number($("num1").value);var oNum2 = Number($("num2").value);//根據不同的運算符,進行不同的運算。var res = counter(oNum1, operator, oNum2);alert(res);}/*簡化代碼*/function $(id){return document.getElementById(id);}function counter(num1, operator, num2){var res = 0;//1、運算符判斷switch(operator){case " ":res = num1 num2;break;case "-":res = num1 - num2;break;case "*":res = num1 * num2;break;case "/":res = num1 / num2;break;case "%":res = num1 % num2;break;default:alert("error");break;}return res;}</script> </html> 【注】<body><!-- onclick = ""后面字符串中寫著js的執行代碼 --><button id = "btn" onclick = "btnClick();">按鈕</button></body><script>/*var oBtn = document.getElementById("btn");oBtn.onclick = function(){alert(1);}*/function btnClick(){alert("點擊");}</script>
更多專業前端知識,請上 【猿2048】www.mk2048.com

總結

以上是生活随笔為你收集整理的6-1 数组函数练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。