一、陣列
1. 查詢陣列元素位置
function indexof(arr, item) else }
}return -1; }
2.陣列求和
function(arr) );
};
function sum(arr)
3.移除陣列中的元素
移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果返回新的陣列
不改變原陣列:
function remove(arr, item) ); }
改變原陣列:
function removewithoutcopy(arr, item) }
return arr; }
4. 新增元素 item(concat不會改變原陣列)(堆方法pop/push和棧方法shift/unshift都會改變原陣列)
在開頭function prepend(arr, item)
function prepend(arr, item)
在結尾function(arr, item) ;
return arr.concat(item) }
4.刪除陣列最後乙個元素
function truncate(arr)
function truncate(arr)
5.刪除陣列第乙個元素
function curtail(arr)
function curtail(arr)
function curtail(arr) ); }
6. 陣列合併
合併陣列 arr1 和陣列 arr2。不要直接修改陣列 arr,結果返回新的陣列
function concat(arr1, arr2)
7. 新增元素
在陣列 arr 的 index 處新增元素 item。不要直接修改陣列 arr,結果返回新的陣列
function insert(arr, item, index)
8. 計數
統計陣列 arr 中值等於 item 的元素出現的次數
function count(arr, item) );
return count; }
function count(arr, item) ).length }
9.查詢重複元素
找出陣列 arr 中重複出現過的元素
function duplicates(arr)
});return result; }
function duplicates(arr)
b[arr[i]]++; }
//遍歷b陣列,將其中元素值大於1的元素下標存入a陣列中
for(var i = 0; i < b.length; i++) }
return a; }
10. 求二次方
為陣列 arr 中的每個元素求二次方。不要直接修改陣列 arr,結果返回新的陣列
function square(arr) ) }
11.查詢元素位置
在陣列 arr 中,查詢值與 item 相等的元素出現的所有位置
function findalloccurrences(arr, target)
return array; }
function findalloccurrences(arr, target)
return a; }
二、函式
1.函式傳參
將陣列 arr 中的元素作為呼叫函式 fn 的引數
function argsasarray(fn, arr)
2. 函式的上下文
將函式 fn 的執行上下文改為 obj 物件
function speak(fn, obj)
3. 返回函式
實現函式 functionfunction,呼叫之後滿足如下條件:
1、返回值為乙個函式 f
2、呼叫返回的函式 f,返回值為按照呼叫順序的引數拼接,拼接字元為英文逗號加乙個空格,即 ', '
3、所有函式的引數數量為 1,且均為 string 型別
function functionfunction(str)
return f; }
4. 使用閉包
實現函式 makeclosures,呼叫之後滿足如下條件:
1、返回乙個函式陣列 result,長度與 arr 相同
2、執行 result 中第 i 個函式,即 result[i](),結果與 fn(arr[i]) 相同
function makeclosures(arr, fn) (e));
});return result; }
5.二次封裝函式
已知函式 fn 執行需要 3 個引數。請實現函式 partial,呼叫之後滿足如下條件:
1、返回乙個函式 result,該函式接受乙個引數
2、執行 result(str3) ,返回的結果與 fn(str1, str2, str3) 一致
function partial(fn, str1, str2)
return result; }
6. 使用 arguments
函式 usearguments 可以接收 1 個及以上的引數。
請實現函式 usearguments,返回所有呼叫引數相加後的結果。本題的測試引數全部為 number 型別,不需考慮引數轉換。
function usearguments()
function usearguments() ) }
實現函式 callit,呼叫之後滿足如下條件
1、返回的結果為呼叫 fn 之後的結果
2、fn 的呼叫引數為 callit 的第乙個引數之後的全部引數
function callit(fn)
function callit(fn)
8. 二次封裝函式
實現函式 partialusingarguments,呼叫之後滿足如下條件:
1、返回乙個函式 result
2、呼叫 result 之後,返回的結果與呼叫函式 fn 的結果一致
3、fn 的呼叫引數為 partialusingarguments 的第乙個引數之後的全部引數以及 result 的呼叫引數
function partialusingarguments(fn)
return result; }
9. 柯里化
已知 fn 為乙個預定義函式,實現函式 curryit,呼叫之後滿足如下條件:
1、返回乙個函式 a,a 的 length 屬性值為 1(即顯式宣告 a 接收乙個引數)
2、呼叫 a 之後,返回乙個函式 b, b 的 length 屬性值為 1
3、呼叫 b 之後,返回乙個函式 c, c 的 length 屬性值為 1
4、呼叫 c 之後,返回的結果與呼叫 fn 的返回值一致
5、fn 的引數依次為函式 a, b, c 的呼叫引數
function curryit(fn) }
function curryit(fn) ;
};}; }
function curryit(fn)
return curry3; }
return curry2; }
return curry1; }
三、
hdu oj最基礎50題(2000 2009題)
題目位址 本博文旨在幫助部分跨考生從初試踏入複試,大家加油hhhhh 本內容編寫過程中僅使用最基本的c語言知識,不使用c 庫 include include 交換 void swap int x,int y 陣列分割為2部分 intpatition char a,int low,int high 如...
hdu oj最基礎50題(2010 2019題)
題目位址 本博文旨在幫助部分跨考生從初試踏入複試,大家加油hhhhh 本內容編寫過程中僅使用最基本的c語言知識,不使用c 庫 include include include intmain if cnt 0 printf no n else return0 include include inclu...
hdu oj最基礎50題(2030 2039題)
題目位址 本博文旨在幫助部分跨考生從初試踏入複試,大家加油hhhhh 本內容編寫過程中僅使用最基本的c語言知識,不使用c 庫 include include include intmain cnt cnt 2 printf d n cnt return0 include include includ...