6 1 陣列函式練習

2021-09-19 14:07:59 字數 3541 閱讀 9485

/*          var num = 10;

function show(num)

alert(num); //10

show(num); //11 num = num

alert(num); //10*/

/*引用

*//*var arr = [1, 2, 3, 4];

function show(arr)

alert(arr); //[1, 2, 3, 4]

show(arr); //[1, 2, 3, 4, "hello"]

alert(arr); //[1, 2, 3, 4, "hello"]*/

/*function add(num1, num2)*/
/*

1、確定你的函式要不要結果。

2、return語法,return後面寫什麼,外面拿到的值,就是return後面的表示式。

*//*var res = add(10, 20);

alert(res);*/

function show()

show(1, 2, 3);

var arr = [1, 2, 3, 4, 5];

show(arr);

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++)

}*/// alert(arr);

/*關鍵:找出第乙個第乙個比該數大的數

*/var arr = [10, 20, 30, 40, 60];

function map(arr)

}/*map(arr);

alert(arr);*/

function has(arr, num)

}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

//想辦法將這個十二位數拆成每一位

//69012345678

function barcode(num)

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++)else

}//3、

var tmp = (odd + even * 3) % 10;

if(tmp != 0)

numarr.push(tmp);

return number(numarr.join(""));

}var res = barcode(690123456789
);

alert(res);

5、編寫函式norepeat(arr) 將陣列的重複元素去掉,並返回新的陣列

/*倒著刪除

【注】凡是遍歷資料去重,都倒著刪除。

*/

function norepeat(arr)

}}*/

for(var i = arr.length - 1; i > 0; i--)}}

}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)

return (peach(n - 1) + 1) * 2;

}//46

var res = peach(5);

alert(res);

7、密文

/*

某個公司採用公用**傳遞資料,資料是四位的整數,

在傳遞過程中是加密的,加密規則如下:

1、每位數字都加上5,

2、然後用除以10的餘數代替該數字,

3、再將第一位和第四位交換,

4、第二位和第三位交換,請編寫乙個函式,傳入原文,輸出密文

*///4 3 2 1

function ciphertext(num)

numarr.push(num % 10);

num = parseint(num / 10);

}for(var i = 0; i < numarr.length; i++)

return number(numarr.join(""));

}var res = ciphertext(1234);

alert(res);

8、計算器

+-/*%

【注】

按鈕

收藏

SICP練習 61 練習2 31 2 32

練習2.31 我想說我已經越來越喜歡抽象了,將上一題中的map版本的square tree抽象的方法是新增乙個引數f,f是乙個函式,因此將square替換成f即可。如下。define map tree f tree map lambda sub tree if pair?sub tree tree ...

6 1 函式基礎

目錄6.1.2 函式的宣告 6.1.3 分離式編譯 變數型別 作用域生命期 初始化全域性物件 整個程式 整個程式 預設初始化 自動物件 塊作用域 宣告時自動建立,出作用域後自動銷毀 預設初始化 區域性靜態物件 塊作用域 整個程式 值初始化 舉例 用區域性靜態變數統計某函式的呼叫次數 includeu...

刻意練習 Python DAY6 1

1.建立並呼叫乙個函式 defmyfirstfunction print 這是我建立的第乙個函式 print 哈哈哈 myfirstfunction 這是我建立的第乙個函式 哈哈哈2.函式的引數 defmysecondfunction name print name i love you mysec...