6-1 数组函数练习
生活随笔
收集整理的這篇文章主要介紹了
6-1 数组函数练习
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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、引用排序函數(shù)
<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、確定你的函數(shù)要不要結(jié)果。2、return語(yǔ)法,return后面寫什么,外面拿到的值,就是return后面的表達(dá)式。*//*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、習(xí)題
1、有一個(gè)從小到大排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。([2,3,4,56,67,98] //63
2、編寫函數(shù)map(arr) 把數(shù)組中的每一位數(shù)字都增加30%
3、編寫函數(shù)has(arr , 60) 判斷數(shù)組中是否存在60這個(gè)元素,返回布爾類型
/*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);/*關(guān)鍵:找出第一個(gè)第一個(gè)比該數(shù)大的數(shù)*/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; //假設(shè)沒有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位條形碼(對(duì)之前的知識(shí)綜合練習(xí))
Ean-13碼規(guī)則:第十三位數(shù)字是前十二位數(shù)字經(jīng)過計(jì)算得到的校驗(yàn)碼。?例如:690123456789?第三位計(jì)算其校驗(yàn)碼的過程為:?1、前十二位的奇數(shù)位和6 0 2 4 6 8=26?2、前十二位的偶數(shù)位和9 1 3 5 7 9=34?3、將奇數(shù)和與偶數(shù)和的三倍相加26 34*3=128?4、取結(jié)果的個(gè)位數(shù):128的個(gè)位數(shù)為8?5、用10減去這個(gè)個(gè)位數(shù)10-8=2?所以校驗(yàn)碼為2(注:如果取結(jié)果的個(gè)位數(shù)為0,那么校驗(yàn)碼不是(10-0=10),而是0)實(shí)現(xiàn)方法ean13()計(jì)算驗(yàn)證碼,輸入12位條碼,返回帶驗(yàn)證碼的條碼。?例如:輸入:692223361219輸出:6922233612192//想辦法將這個(gè)十二位數(shù)拆成每一位//69012345678function barCode(num){//1、分別取出每一位數(shù)var numArr = []; //存儲(chǔ)取下來(lái)的每一位數(shù)while(1){if(num == 0){break;}numArr.push(num % 10);num = parseInt(num / 10);}numArr.reverse();//2、求奇數(shù)和和偶數(shù)和var odd = 0;var even = 0;for(var i = 0; i < numArr.length; i ){if(i % 2 == 0){//奇數(shù)位odd = numArr[i];}else{//偶數(shù)位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、編寫函數(shù)norepeat(arr) 將數(shù)組的重復(fù)元素去掉,并返回新的數(shù)組
/*
倒著刪除
【注】凡是遍歷數(shù)據(jù)去重,都倒著刪除。
*/
6、猴子吃桃
最強(qiáng)王者法則:
1、找出臨界值,臨界值就是,不用計(jì)算,直接心算得出的值。
2、找出第n次和n-1次的關(guān)系
3、假設(shè)函數(shù)已經(jīng)可以使用,寫出n和n-1之間的公式。
7、密文
/*某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:1、每位數(shù)字都加上5,2、然后用除以10的余數(shù)代替該數(shù)字,3、再將第一位和第四位交換,4、第二位和第三位交換,請(qǐng)編寫一個(gè)函數(shù),傳入原文,輸出密文*///4 3 2 1function ciphertext(num){//1、拆成數(shù)組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、計(jì)算器
<head><meta charset="UTF-8"><title>Document</title></head><body><input type="text" id = "num1" placeholder="請(qǐng)輸入第一個(gè)數(shù)"><input type="text" id = "num2" placeholder="請(qǐng)輸入第二個(gè)數(shù)"><!-- 點(diǎn)擊按鈕以后,執(zhí)行后續(xù)字符串中的代碼--><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);//根據(jù)不同的運(yùn)算符,進(jìn)行不同的運(yùn)算。var res = counter(oNum1, operator, oNum2);alert(res);}/*簡(jiǎn)化代碼*/function $(id){return document.getElementById(id);}function counter(num1, operator, num2){var res = 0;//1、運(yùn)算符判斷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的執(zhí)行代碼 --><button id = "btn" onclick = "btnClick();">按鈕</button></body><script>/*var oBtn = document.getElementById("btn");oBtn.onclick = function(){alert(1);}*/function btnClick(){alert("點(diǎn)擊");}</script>更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的6-1 数组函数练习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8、路由 router
- 下一篇: 替换富文本里的px为rem