數(shù)組肪笋、字符串月劈、數(shù)學(xué)函數(shù)

一、數(shù)組方法里push藤乙、pop艺栈、shift、unshift湾盒、join、split分別是什么作用诅妹。


(1).arr.push()用于向數(shù)組的末尾新添加一個(gè)或者多個(gè)元素罚勾,本身會(huì)返回新數(shù)組的長(zhǎng)度

var arr = [1,2,3]
arr.push(4,5)
console.log(arr)  //[1,2,3,4,5]
console.log(arr.length)  //  7
console.log(arr.push(6,7))  //7    本身返回arr.length

arr.push('str')
console.log(arr)  //[1, 2, 3, 4, 5, 6, 7, "str"]

arr.push([1,2,3])  
console.log(arr)   //[1, 2, 3, 4, 5, 6, 7, "str", [1, 2, 3]]

arr.push(['a','b'])
console.log(arr)  // [1, 2, 3, 4, 5, 6, 7, "str", [1, 2, 3], ["a", "b"]]

arr.push([c,d,e])
console.log(arr)  //報(bào)錯(cuò)

(2).arr.unshift()用于在數(shù)組前開(kāi)頭新添一個(gè)或者多個(gè)元素,也會(huì)返回新數(shù)組的長(zhǎng)度吭狡;

var arr = [3,4,5]
arr.unshift(2)
console.log(arr)//[2, 3, 4, 5]
console.log(arr.length)  //4
console.log(arr.unshift(2))  //4  返回arr.length

arr.unshift(-1,0,1)
console.log(arr)  //[-1, 0, 1, 2, 3, 4, 5]

arr.unshift([-3,-2])
console.log(arr)  //[[-3, -2], -1, 0, 1, 2, 3, 4, 5]

arr.unshift  //(['hi','hello'])
console.log(arr)  //[["hi", "hello"], [-3, -2], -1, 0, 1, 2, 3, 4, 5]

(3).arr.pop()用于刪除數(shù)組最后一位元素尖殃,并返回刪除的值;

var arr = [1,2,3] 
console.log(arr.pop()) //刪了最位一位划煮,返回刪除的值3
console.log(arr)  //[1, 2]
console.log(arr.pop()) //返回刪除的值2
console.log(arr.length) //剩余長(zhǎng)度1

(4)arr.shift()用于刪除數(shù)組第一位元素送丰,并返回刪除的值;

var a = [1,2,3,4];
a.shift();            //返回刪除的值 1弛秋;
console.log(a);     //  a = [2,3,4]
console.log(a.length);  //  3

(5)arr.join()方法——把數(shù)組變成字符串
連接數(shù)組中的元素器躏,有且只返回一個(gè)字符串,多用于給變量賦值蟹略;
通過(guò)傳入的分隔符進(jìn)行分隔的登失,分隔符可以是空格,橫線等;
如果()括號(hào)里不傳參數(shù)挖炬,則默認(rèn)以逗號(hào)揽浙,作為分割
注意:無(wú)論傳參后結(jié)果如何,都不會(huì)修改原數(shù)組內(nèi)容馅巷。

var a = [1,2,3,4];
console.log(a.join());// 不填寫(xiě)參數(shù)時(shí)默認(rèn)逗號(hào)作為連接符 "1,2,3,4"
console.log(a) // 依然是[1,2,3,4]

console.log(a.join("")); //參數(shù)為空字符串時(shí)輸出  "1234"
console.log(a.join(" "))  //參數(shù)時(shí)空格字符串時(shí)輸出 "1 2 3 4"
console.log(a.join("-"));  // "1-2-3-4"
console.log(a.join("@"))  //"1@2@3@4"
console.log(typeof a);  //  object
console.log(a);       // [1,2,3,4] 不會(huì)修改原數(shù)組內(nèi)容

(6)str.split()方法——把字符串變成數(shù)組
split()與join()正好相反膛虫,可以把字符串分割成數(shù)組,而且也不會(huì)更改字符串本身钓猬,只是輸出值傳遞給變量稍刀。
如果不傳入?yún)?shù),那么它會(huì)把字符串完整的轉(zhuǎn)換為數(shù)組逗噩,并且數(shù)組的長(zhǎng)度為1.
如果傳入了參數(shù)(一般以逗號(hào)或者字符串中出現(xiàn)的字符分割)就以該參數(shù)分割數(shù)組掉丽。
留意:這兩個(gè)參數(shù),第一個(gè)參數(shù)作為分隔作用來(lái)分隔元素异雁,第二個(gè)是分割出來(lái)的數(shù)組項(xiàng)個(gè)數(shù)捶障。

var str = "1a2b3c4d"
console.log(str.split())//默認(rèn)不傳參["1a2b3c4d"]
console.log(str.split("")) //參數(shù)為空字符串時(shí)輸出["1", "a", "2", "b", "3", "c", "4", "d"]
console.log(str.split(" "))//參數(shù)時(shí)空格字符串時(shí)輸出["1a2b3c4d"]
console.log(str.split("",2))//分割出來(lái)的數(shù)組項(xiàng)的前2個(gè)["1", "a"]
console.log(str.split("",4))//分割出來(lái)的數(shù)組項(xiàng)的前4個(gè)["1", "a", "2", "b"]
console.log(str.split(","))//因?yàn)樵址疅o(wú)逗號(hào),所以以逗號(hào)分割也無(wú)效
console.log(str.split("-"))//因?yàn)樵址?逗號(hào)纲刀,所以以-分割也無(wú)效
console.log(str)  //依然是"1,2,3,4" 
console.log(typeof str);//"string"

var str2 = "1:2:3:4" 
console.log(str2.split(':'))//["1", "2", "3", "4"]

var str3 = "1|2|3|4"
console.log(str3.split('|'))//["1", "2", "3", "4"]

(7)arr.reverse()顛倒數(shù)組中元素的順序项炼,修改并返回改變后的數(shù)組。

var arr = [1,2,3]
arrr.reverse()//[3,2,1]
console.log(arr)//[3,2,1]

(8)arr.sort()數(shù)組排序示绊,修改并返回改變后的數(shù)組锭部。
sort()是接受一個(gè)比較函數(shù),用這個(gè)函數(shù)來(lái)判斷大小面褐,結(jié)果是字符的排序拌禾,不是數(shù)字大小的排序

var arr = [1,-2,3,-4]
arr.sort()  //[-2, -4, 1, 3]
console.log(arr)  //[-2, -4, 1, 3]

二、代碼題

1.數(shù)組

  • 用 splice 實(shí)現(xiàn) push展哭、pop湃窍、shift、unshift方法

arr.splice()給數(shù)組添加或者刪除元素,同時(shí)修改著原數(shù)組
splice作用:用于數(shù)組的刪除/插入/替換
splice()方法始終都會(huì)返回一個(gè)數(shù)組
splice(開(kāi)始下標(biāo)匪傍,刪除個(gè)數(shù)您市,插入元素(可以是多個(gè)))

//splice(開(kāi)始下標(biāo),刪除個(gè)數(shù)役衡,插入元素(可以是多個(gè)))
var arr = [1,2,3,4]
arr.splice(1,2);  //[2,3]
console.log(arr)  //[1,4]
var arr2 = [1,2,3,4]
arr2.splice(1,2,'a','b','c') //[2,3]
console.log(arr)  //[1,'a','b','c',4]

  • 用splice 實(shí)現(xiàn) push方法茵休,末位添元素
var a = [1,2,3]
function push(arr,val){
    arr.splice(arr.length,0,val)
    return arr.length
}
push(a,1)//4
console.log(a)//[1, 2, 3, 1]

  • 用splice 實(shí)現(xiàn)pop方法,刪末位元素
var a = [1,2,3]
function pop(arr){
    arr.splice(arr.length-1,1)
    return arr.length
}
pop(a)//2
console.log(a)//[1, 2]
pop(a)//1
console.log(a)//[1]

  • 用splice實(shí)現(xiàn)shift方法手蝎,刪首位元素
var a = [1,2,3]
function shift(arr){
    arr.splice(0,1)
    return arr.length
}
shift(a)//2
console.log(a)//[2,3]
shift(a)//1
console.log(a)//[3]

  • 用splice實(shí)現(xiàn)unshift方法榕莺,首位添元素
var a = [3,4,5]
function unshift(arr,val){
    arr.splice(0,0,val)
    return arr.length
}
unshift(a,2)//4
console.log(a)//[2, 3, 4, 5]
unshift(a,1)//5
console.log(a)//[1, 2, 3, 4, 5]

  • 使用數(shù)組拼接出如下字符串

題目:
var prod = { 
      name: '女裝', 
      styles: ['短款', '冬季', '春裝']
};
function getTpl(data){ 
      //todo...
};
var result = getTplStr(prod); //result為下面的字符串
<dl class="product"> 
      <dt>女裝</dt> 
      <dd>短款</dd> 
      <dd>冬季</dd> 
      <dd>春裝</dd>
</dl>

方法一:先數(shù)組后轉(zhuǎn)字符串


字符串拼接1.png

方法二:直接拼接字符


拼接字符串2.png

  • 寫(xiě)一個(gè)find函數(shù),實(shí)現(xiàn)下面的功能

題目:
var arr = [ "test", 2, 1.5, false ]
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1
答題:
//兼容寫(xiě)法
function find(arr,val){
    if(arr.indexOf){
       return arr.indexOf(val)
    }
    for(var i=0;i<arr.length;i++){
        if(arr[i] === val){
           return i
        } 
    }
    return -1
}
console.log(find(arr, "test"))//0
console.log(find(arr, 2))//1
console.log(find(arr, 0))//-1
88.png

  • 寫(xiě)一個(gè)函數(shù)filterNumeric棵介,把數(shù)組 arr 中的數(shù)字過(guò)濾出來(lái)賦值給新數(shù)組newarr帽撑, 原數(shù)組arr不變。

題目:
arr = ["a", "b", 1, 3, 5, "b", 2];
newarr = filterNumeric(arr); // [1,3,5,2]
模擬過(guò)濾器
方法一:用新數(shù)組
arr = ["a", "b", 1, 3, 5, "b", 2];
console.log(filterNumeric(arr)); // [1,3,5,2]
function filterNumeric(arr){
    var newArr = [];
    for(var i=0;i<arr.length;i++){
       if(typeof arr[i] === "number"){
           newArr.push(arr[i])        
        } 
    }  
    return newArr
}
方法二:若要用原數(shù)組
arr = ["a", "b", 1, 3, 5, "b", 2];
console.log(filterNumeric(arr)); // [1,3,5,2]
function filterNumeric(arr){
    for(var i=arr.length-1;i>=0;i--){
        if(typeof arr[i] !== "number"){
           arr.splice(i,1)        
         } 
    }  
    return arr
}

  • 對(duì)象obj有個(gè)className屬性鞍时,里面的值為的是空格分割的字符串(和html元素的class特性類似)亏拉,寫(xiě)addClass扣蜻、removeClass函數(shù),有如下功能

題目:
var obj = { 
    className: 'open menu'
}
addClass(obj, 'new') // obj.className='open menu new'
addClass(obj, 'open') // 因?yàn)閛pen已經(jīng)存在及塘,所以不會(huì)再次添加open
addClass(obj, 'me') // me不存在莽使,所以 obj.className變?yōu)?open menu new me'
console.log(obj.className) // "open menu new me"
removeClass(obj, 'open') // 去掉obj.className里面的 open,變成'menu new me'
removeClass(obj, 'blabla') // 因?yàn)閎labla不存在笙僚,所以此操作無(wú)任何影響

addClass方法一:


addClass(1).png

addClass方法二:


addClass(2).png

addClass方法三:
addClass(3).png

removeClass方法一:


removeClass(1).png

removeClass規(guī)范答案
function removeClass(obj, cls) { 
      var classArr = obj.className.split(' '); 
      for (var i = 0; i < classArr.length; i++) { 
        if (cls === classArr[i]) { 
            classArr.splice(i, 1);
            i--; //這個(gè)沒(méi)注意到
          }
       } 
       obj.className = classArr.join(' '); 
}

  • 寫(xiě)一個(gè)camelize函數(shù)芳肌,把my-short-string形式的字符串轉(zhuǎn)化成myShortString形式的字符串,如

題目:
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'

解答


切割器.png

  • 如下代碼輸出什么肋层?為什么?

題目:
arr = ["a", "b"];
arr.push( function() { alert(console.log('hello hunger valley')) } );
arr[arr.length-1]() // ?

結(jié)果


結(jié)果.png

分析:控制臺(tái)打印出hello hunger valley亿笤,alert框彈出undefined。為什么是這個(gè)結(jié)果呢栋猖?
(1)push( function() { alert(console.log('hello hunger valley')) } );就是push一個(gè)匿名函數(shù)放到了數(shù)組arr的最后一項(xiàng)
(2)arr = ["a","b",function() { alert(console.log('hello hunger valley')) }]
(3)arr[arr.length-1]() 加括號(hào)變成了立即執(zhí)行函數(shù)
(4)所以控制臺(tái)打出 hello hunger valley净薛,也正因?yàn)閏onsole.log只在控制臺(tái)輸出,并不返回值蒲拉,所以報(bào)undefind肃拜。
(5)經(jīng)測(cè)試發(fā)現(xiàn)平常寫(xiě)alert(console.log())也會(huì)彈出undefined,所以彈框結(jié)果如此


  • 寫(xiě)一個(gè)函數(shù)filterNumericInPlace雌团,過(guò)濾數(shù)組中的數(shù)字燃领,刪除非數(shù)字。要求在原數(shù)組上操作

題目:
arr = ["a", "b", 1, 3, 4, 5, "b", 2];//對(duì)原數(shù)組進(jìn)行操作锦援,不需要返回值
filterNumericInPlace(arr);
console.log(arr) // [1,3,4,5,2]
解題
function filterNumericInPlace(arr){
    for(var i=0;i<arr.length;i++){
      if(typeof arr[i]!== "number"){
         console.log( arr.splice(i,1))
          i--
        }
    }
}
filterNumericInPlace(arr);
console.log(arr)   //[1,3,4,5,2]
重點(diǎn)是i--,因?yàn)檠h(huán)第一遍,如果typeof arr[0]≠number,i=i+1,
導(dǎo)致檢測(cè)b是無(wú)法被取出,過(guò)程是0→匹配對(duì)→再i--變成負(fù)1→再i++→i重回0猛蔽,所以需要i-- ,回到原始位置,再進(jìn)行條件判斷
filter.png

  • 寫(xiě)一個(gè)ageSort函數(shù)實(shí)現(xiàn)數(shù)組中對(duì)象按age從小到大排序

題目:
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
sort()方法巧妙之處能按需求的那部分來(lái)為數(shù)組作排序
var john = { name: "John Smith", age: 23 };
var mary = { name: "Mary Key", age: 18 };
var bob = { name: "Bob-small", age: 6 };
var people = [ john, mary, bob ]; //people本身是數(shù)組
function ageSort(people){
    people.sort(function(v1,v2){
        return v1.age - v2.age;
    });
}
console.log(people);// [ bob, mary, john ]
ageSort(people)

  • 寫(xiě)一個(gè)filter(arr, func)函數(shù)用于過(guò)濾數(shù)組,接受兩個(gè)參數(shù)灵寺,第一個(gè)是要處理的數(shù)組枢舶,第二個(gè)參數(shù)是回調(diào)函數(shù)(回調(diào)函數(shù)遍歷接受每一個(gè)數(shù)組元素,當(dāng)函數(shù)返回true時(shí)保留該元素替久,否則刪除該元素)。實(shí)現(xiàn)如下功能:

題目:
function isNumeric (el){ 
      return typeof el === 'number'; 
}
arr = ["a",3,4,true, -1, 2, "b"]
arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2], 過(guò)濾出數(shù)字
arr = filter(arr, function(val) { 
      return typeof val === "number" && val > 0 
}); // arr = [3,4,2] 過(guò)濾出大于0的整數(shù)
//定義函數(shù)
function filter(arr, func) { 
      for (var i = 0; i < arr.length; i++) { 
          if (!func(arr[i])) { //不符合數(shù)字的就剔除
                arr.splice(i, 1);
                i -= 1; //剔除之后下標(biāo)減一,否則會(huì)跳過(guò)刪掉的元素的下一元素 
           } 
      } 
      return arr; 
}
//回調(diào)函數(shù)躏尉,條件:符合是數(shù)字
function isNumeric (el){   
      return typeof el === 'number'; 
}
arr = ["a", -1, 2, "b"]
arr = filter(arr, isNumeric) ; // arr = [-1, 2], 過(guò)濾出數(shù)字
arr = filter(arr, function(val) { return val > 0 }); // arr = [2] 過(guò)濾出大于0的整數(shù)

三.字符串

  • 寫(xiě)一個(gè) ucFirst 函數(shù)蚯根,返回第一個(gè)字母為大寫(xiě)的字符

題目:ucFirst("hunger") == "Hunger"

解答:


substr和substring方法.png

簡(jiǎn)單粗暴


str方法.png

  • 寫(xiě)一個(gè)函數(shù)truncate(str, maxlength), 如果str的長(zhǎng)度大于maxlength摩疑,會(huì)把str截?cái)嗟絤axlength長(zhǎng)噪舀,并加上...

題目:
truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"

解題


QQ截圖20160927181922.png

四.數(shù)學(xué)函數(shù)

  • 寫(xiě)一個(gè)函數(shù),獲取從min到max之間的隨機(jī)整數(shù)怖侦,包括min不包括max

//過(guò)程
function randomNum(min,max){
      var num = Math.floor(Math.random()*(max-min))
      console.log(min+num)
}
randomNum(6,10)// 輸出68998998789787868  
//標(biāo)準(zhǔn)
function randomNum(min,max){
      return Math.floor(Math.random()*(max-min))+Math.floor(min)
}
randomNum(min,max)

  • 寫(xiě)一個(gè)函數(shù)教藻,獲取從min都max之間的隨機(jī)整數(shù)距帅,包括min包括max

function randomNum(min,max){
      return Math.floor(Math.random()*(max-min+1))+Math.floor(min)
}
console.log(randomNum(6.2342,10.23432)) //輸出6、8括堤、10碌秸、9绍移、10、6

  • 寫(xiě)一個(gè)函數(shù)讥电,獲取一個(gè)隨機(jī)數(shù)組蹂窖,數(shù)組中元素為長(zhǎng)度為len,最小值為min恩敌,最大值為max(包括)的隨機(jī)整數(shù)

function randomNum(len,min,max){
      var newArr = [];
      for(var i=0;i<len;i++){
            randomNum = min+Math.floor(Math.random()*(max-min+1))
            newArr.push(randomNum)
      }
      return newArr
}
console.log(randomNum(4,1,5))
[2, 2, 3, 2]
[5, 2, 3, 2]
[4, 4, 4, 3]
[3, 3, 2, 4]
[1, 4, 2, 3]
[2, 3, 4, 5]

  • 寫(xiě)一個(gè)函數(shù)瞬测,生成一個(gè)長(zhǎng)度為 n 的隨機(jī)字符串,字符串字符的取值范圍包括0到9纠炮,a到 z月趟,A到Z。

function getRandStr(len){
      var str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
      var result = "";
      for(var i=0;i<len;i++){
            result = result+str[Math.floor(Math.random()*str.length)]
      }
      return result
}
var str = getRandStr(10); // "0a3iJiRZap"
var str = getRandStr(6); //"49vAja"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恢口,一起剝皮案震驚了整個(gè)濱河市孝宗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弧蝇,老刑警劉巖碳褒,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異看疗,居然都是意外死亡沙峻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)两芳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摔寨,“玉大人,你說(shuō)我怎么就攤上這事怖辆∈歉矗” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵竖螃,是天一觀的道長(zhǎng)淑廊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)特咆,這世上最難降的妖魔是什么季惩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮腻格,結(jié)果婚禮上画拾,老公的妹妹穿的比我還像新娘。我一直安慰自己菜职,他們只是感情好青抛,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著酬核,像睡著了一般蜜另。 火紅的嫁衣襯著肌膚如雪适室。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天蚕钦,我揣著相機(jī)與錄音亭病,去河邊找鬼。 笑死嘶居,一個(gè)胖子當(dāng)著我的面吹牛罪帖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播邮屁,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼整袁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了佑吝?” 一聲冷哼從身側(cè)響起坐昙,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芋忿,沒(méi)想到半個(gè)月后炸客,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡戈钢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年痹仙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殉了。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡开仰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出薪铜,到底是詐尸還是另有隱情众弓,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布隔箍,位于F島的核電站谓娃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蜒滩。R本人自食惡果不足惜滨达,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帮掉。 院中可真熱鬧,春花似錦窒典、人聲如沸蟆炊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)涩搓。三九已至污秆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昧甘,已是汗流浹背良拼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留充边,地道東北人庸推。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像浇冰,于是被迫代替她去往敵國(guó)和親贬媒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容