摘要:如果數(shù)組只有一個(gè),那么將返回該值而不使用分隔符。示例語法方法使用指定的分隔符字符串將一個(gè)對象分割成字符串?dāng)?shù)組,以將字符串分隔為子字符串,以確定每個(gè)拆分的位置。
Array.prototype.reverse()每天4個(gè)JavaScript字符串與數(shù)組的API,幫助大家與我自己加深記憶,持續(xù)更新... ...
語法: arr.reverse()
MDN: reverse() 方法將數(shù)組中元素的位置顛倒,并返回該數(shù)組。該方法會(huì)改變原數(shù)組。
var a = [1,2,3]; var _a = a.reverse(); console.log(a); // [3,2,1] console.log(_a); // [3,2,1]
當(dāng)然自己實(shí)現(xiàn)reverse()方法其實(shí)也很簡單:
window.Array.prototype.myReverse = function () {
for(let i=0;ilet temp = this[i];
this[i] = this[this.length-1-i];
this[this.length-1-i] = temp;
}
}
Array.prototype.join()
語法:arr.join([separator])
MDN: join() 方法將一個(gè)數(shù)組(或一個(gè)類數(shù)組對象)的所有元素連接成一個(gè)字符串并返回這個(gè)字符串。如果數(shù)組只有一個(gè)value,那么將返回該值而不使用分隔符。示例如下:
var arr = ["唱","跳","Rap","籃球"];
var arrStr1 = arr.join(); console.log(arrStr1); // "唱,跳,Rap,籃球"
var arrStr2 = arr.join(",");console.log(arrStr2); // "唱,跳,Rap,籃球"
var arrStr3 = arr.join("");console.log(arrStr3); // "唱跳Rap籃球"
var arrStr4 = arr.join(" ");console.log(arrStr4); // "唱 跳 Rap 籃球"
var arrStr5 = arr+"";console.log(arrStr5); // "唱,跳,Rap,籃球"
Array.prototype.map()
語法:去MDN自己看
MDN: map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。示例:
var arr = [1,2,3];
var arr2 = arr.map((e)=>{return e*2});console.log(arr2); // [2, 4, 6]
var arr3 = arr.map((e)=>{return e*e});console.log(arr3); //[1, 4, 9]
var arr4 = arr.map((e)=>{return e+""});console.log(arr4); // ["1", "2", "3"]
String.prototype.split()
語法:str.split([separator[, limit]])
MDN: split() 方法使用指定的分隔符字符串將一個(gè)String對象分割成字符串?dāng)?shù)組,以將字符串分隔為子字符串,以確定每個(gè)拆分的位置。 示例:
var str = "我是ikun,我喜歡 唱 跳 Rap和籃球";
var strArr1 = str.split();console.log(strArr1); //["我是ikun,我喜歡 唱 跳 Rap和籃球"]
var strArr2 = str.split(" ");console.log(strArr2);//["我是ikun,我喜歡", "唱", "跳", "Rap和籃球"]
var strArr3 = str.split("");console.log(strArr3);
// 如果空字符串("")被用作分隔符,則字符串會(huì)在每個(gè)字符之間分割。
//["我", "是", "i", "k", "u", "n", ",", "我", "喜", "歡", " ", "唱", " ", "跳", " ", "R", "a", "p", "和", "籃", "球"]
var strArr4 = str.split(",");console.log(strArr4);//["我是ikun", "我喜歡 唱 跳 Rap和籃球"]
反轉(zhuǎn)字符串中的單詞
反轉(zhuǎn)字符串中的單詞是Leetcode上第557號問題,具體問題描述如下:
給定一個(gè)字符串,
你需要反轉(zhuǎn)字符串中每個(gè)單詞的字符順序,
同時(shí)仍保留空格和單詞的初始順序。
示例 1:
輸入: "Let"s take LeetCode contest"
輸出: "s"teL ekat edoCteeL tsetnoc"
注意:在字符串中,每個(gè)單詞由單個(gè)空格分隔,
并且字符串中不會(huì)有任何額外的空格。
這道題目使用JavaScript就可以使用上述API解出結(jié)果:
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function(s) {
return s.split(" ").map((e)=>{
return e.split("").reverse().join("")
}).join(" ");
};
其實(shí)仔細(xì)想一想這個(gè)解題過程并不難,思路為:
step1:
"Let"s take LeetCode contest" => ["Let"s","take","LeetCode","contest"]
step2:
"Let"s" => ["L","e","t",""","s"]=>["s",""","e","t","L"]=> "s"teL"
step3:
["Let"s","take","LeetCode","contest"] => ["s"teL","ekat","edoCteeL","tsetnoc"]
step4:
["s"teL","ekat","edoCteeL","tsetnoc"] => "s"teL ekat edoCteeL tsetnoc"
本題目重點(diǎn)仍然在API的掌握上~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/6893.html
摘要:循環(huán)可以使用的范圍包括數(shù)組和結(jié)構(gòu)某些類似數(shù)組的對象對象,以及字符串。只能遍歷數(shù)組,不能中斷,返回值是修改后的數(shù)組。除了之外,等,也有同樣的問題。聲明一個(gè)只讀的常量。這在語法上,稱為暫時(shí)性死區(qū)。暫時(shí)性死區(qū)也意味著不再是一個(gè)百分百安全的操作。 互聯(lián)網(wǎng)寒冬之際,各大公司都縮減了HC,甚至是采取了裁員措施,在這樣的大環(huán)境之下,想要獲得一份更好的工作,必然需要付出更多的努力。 一年前,也許你搞清楚閉包...
摘要:只能遍歷數(shù)組,不能中斷,返回值是修改后的數(shù)組。這在語法上,稱為暫時(shí)性死區(qū)。作用域鏈無論是還是查詢,都會(huì)在當(dāng)前的作用域開始查找,如果沒有找到,就會(huì)向上級作用域繼續(xù)查找目標(biāo)標(biāo)識(shí)符,每次上升一個(gè)作用域,一直到全局作用域?yàn)橹埂? 互聯(lián)網(wǎng)寒冬之際,各大公司都縮減了HC,甚至是采取了裁員措施,在這樣的大環(huán)境之下,想要獲得一份更好的工作,必然需要付出更多的努力。 一年前,也許你搞清楚閉包,this,原...
摘要:如果你還沒讀過上篇上篇和中篇并無依賴關(guān)系,您可以讀過本文之后再閱讀上篇,可戳面試篇寒冬求職季之你必須要懂的原生上小姐姐花了近百個(gè)小時(shí)才完成這篇文章,篇幅較長,希望大家閱讀時(shí)多花點(diǎn)耐心,力求真正的掌握相關(guān)知識(shí)點(diǎn)。 互聯(lián)網(wǎng)寒冬之際,各大公司都縮減了HC,甚至是采取了裁員措施,在這樣的大環(huán)境之下,想要獲得一份更好的工作,必然需要付出更多的努力。 一年前,也許你搞清楚閉包,this,原型鏈,就...
摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮ο髣?chuàng)建模式繼承嚴(yán)格模式與對象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡化對象寫法剪頭函數(shù)三點(diǎn)運(yùn)算符模板字符串形參默認(rèn)值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實(shí)現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮ο髣?chuàng)建模式繼承——————Es5嚴(yán)格模式Json與j...
摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮ο髣?chuàng)建模式繼承嚴(yán)格模式與對象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡化對象寫法剪頭函數(shù)三點(diǎn)運(yùn)算符模板字符串形參默認(rèn)值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實(shí)現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮ο髣?chuàng)建模式繼承——————Es5嚴(yán)格模式Json與j...
閱讀 945·2021-09-07 09:58
閱讀 1495·2021-09-07 09:58
閱讀 2890·2021-09-04 16:40
閱讀 2510·2019-08-30 15:55
閱讀 2416·2019-08-30 15:54
閱讀 1375·2019-08-30 15:52
閱讀 439·2019-08-30 10:49
閱讀 2610·2019-08-29 13:21