javsscript练习
1.翻轉字符串
function reverseString(str) {
str=str.split('');把字符串轉化成數組
str=str.reverse();翻轉數組順序
str=str.join('');數組轉化成字符串
return str;
}
reverseString("hello");
?
2.檢查回文字符串
JavaScript replace() 方法?replace 方法的結果是一個完成了指定替換的 stringObj 對象的復制
function palindrome(str) {
var str1=str;
str1=str1.replace(/\W+/g,""); ?//正則表達式篩選所有非單詞字符,替換為空的字符串
str1=str1.replace(/\_+/g,""); ?//正則表達式篩選所有下劃線字符,替換為空的字符串
str1=str1.toLowerCase(); ?//將所有的文字變為小寫
var str翻轉;
str翻轉=str1.split('').reverse().join('');
if(str翻轉==str1){
return true;
}else{
return false;
}
return str翻轉;
}
palindrome("A man, a plan, a canal. Panama");
?有更加優化的地方 :http://blog.csdn.net/github_38414220/article/details/78411374
?
?
3.找出最長單詞
?
在句子中找出最長的單詞,并返回它的長度
?
function findLongestWord(str) {
str=str.split(" ");
var max=0;
for(var i=0;i<str.length;i++){
if(str[i].length>=max){
max=str[i].length;
}
}
return max;
}
findLongestWord("The quick brown fox jumped over the lazy dog");
?
句中單詞首字母大寫
確保字符串的每個單詞首字母都大寫,其余部分小寫。
方法①: 用slice(start.end)從已有的數組中返回選定的元素,返回一個新的數組
如果是負數,那么它規定從數組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數第二個元素,以此類推。
注意:該方法并不會修改數組,而是返回一個子數組。如果想刪除數組中的一段元素,應該使用方法 Array.splice()。
function titleCase(str) {
str=str.split(" ");
for(var i=0;i<str.length;i++){
str[i]=str[i][0].toUpperCase()+str[i].slice(1,str[i].length).toLowerCase();
}
return str.join(" ");
}
titleCase("I'm a little tea pot");
方法②:charAt() 方法可返回指定位置的字符。JavaScript 并沒有一種有別于字符串類型的字符數據類型,所以返回的字符是長度為 1 的字符串。
function titleCase(str) {
str=str.toLowerCase().split(" "); //所有字符變成小寫
for(var i=0;i<str.length;i++){
var strFrist=str[i].charAt(0);
str[i]=str[i].replace(strFrist,function replace(strFrist){ ? ? //將第一個字母替換成大寫字母 并且返回
return strFrist.toUpperCase();
})
}
return str.join(" ");
}
titleCase("I'm a little tea pot");
?
4.找出多個數組中的最大數
.Math.max?返回給定的一組數字中的最大值。如果給定的參數中至少有一個參數無法被轉換成數字
.apply(obj,args) 詳解:https://wenku.baidu.com/view/22ea833c67ec102de2bd89c5.html
方法能劫持另外一個對象的方法,繼承另外一個對象的屬性.?Function.apply(obj,args)方法能接收兩個參數
? obj:這個對象將代替Function類里this對象
?args:這個是數組,它將作為參數傳給Function(args-->arguments)
.push() 將一個值丟到數組里面
function largestOfFour(arr) {
var max=0;
var b=[];
for(var i=0;i<arr.length;i++){
max=Math.max.apply(null,arr[i])
b.push(max);
}
return b;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
?
方法二 還沒看
function largestOfFour(arr) { var newArr=[]; for(var i=0;i<arr.length;i++){ //遍歷大數組中的每個小數組,然后將每個小數組排序(降序) arr[i].sort(function compare(x,y){ return y-x; }); newArr.push(arr[i][0]); //將降序后每個小數組的第一個數(即最大值)丟進新數組中 } return newArr; } largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);5.檢查字符串結尾
str.substr(start[, length])
function confirmEnding(str, target) {
var targetLength=target.length;
//var targetLength1=0-target.length;
if(str.substr(-target.length)==target){
return true;
}
return false;
}
confirmEnding("Bastian", "n");
?
6.重復輸出字符串
function repeat(str, num) {
var str1=str;
if(num<0){
return "";
}else {
for(var i=1;i<num;i++){
str1 +=str;
}
}
return str1;
}
repeat("ab", 4);
?
7.截斷字符串
如果字符串的長度比指定的參數num長,則把多余的部分用...來表示
function truncate(str, num) {
var str1;
var str2="..."
if(str.length<=num){
return str;
}else{
if(num>3){
str1=str.slice(0,num-3)+str2;
}else{
str1=str.slice(0,num)+str2;
}
return str1;
}
}
truncate("A-tisket a-tasket A green and yellow basket", 11);
?
8.猴子吃香蕉, 分割數組
(猴子吃香蕉可是掰成好幾段來吃哦)
把一個數組arr按照指定的數組大小size分割成若干個數組塊。
例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];
?如下為第一次成功編譯:簡直無法忍受,
function chunk(arr, size) {var arr1=[];var size1=size;var yushu=Math.ceil(arr.length/size);//向上取整,有小數就整數部分加1 Math.ceil(5/2) for(var i=0;i<yushu;i++){var arr2=arr.slice(size-size1,size);arr1.push(arr2);size+=size1;}return arr1; } chunk(["a", "b", "c", "d","e"], 2);?如下為網上查詢后的優化編譯......
function chunk(arr, size) {var result=[];for(var i=0;i<arr.length;i+=size){result.push(arr.slice(i,i+size));}return result; }chunk(["a", "b", "c", "d"], 3);9.截斷數組
splice()?方法通過刪除現有元素和/或添加新元素來更改一個數組的內容
?
function slasher(arr, howMany) {arr.splice(0,howMany,"fuck");//從第1位開始,刪除howMany個元素,插入“fuck”元素return arr; }slasher(["burgers", "fries", "shake"], 1)?
10.
比較字符串
如果數組第一個字符串元素包含了第二個字符串元素的所有字符,函數返回true。
str.indexOf(searchValue[, fromIndex])一個字符串表示被查找的值
"Blue Whale".indexOf("", 11); // returns 10
"Blue Whale".indexOf("Whale", 5); // returns 5
當檢測某個字符串是否存在于另一個字符串中時,可使用下面的方法:
"Blue Whale".indexOf("Blue") !== -1; // true "Blue Whale".indexOf("Bloe") !== -1; // falsefunction mutation(arr) {var arr1=arr[0].toLowerCase();var arr2=arr[1].toLowerCase();for(var i=0;i<arr[1].length;i++){if(arr1.indexOf(arr2[i])==-1){return false; }//else{return true} 這里加這個就不能成立 }return true; } mutation(["hello", "hey"]);
?
轉載于:https://www.cnblogs.com/chenxuyangbk/p/8030185.html
總結
以上是生活随笔為你收集整理的javsscript练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nfs共享服务搭建
- 下一篇: weblogic缓存导致的网页验证码无法