亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新建構造器函數實現內建String方法和屬性

新建構造器函數實現內建String方法和屬性

亞努人 2016-02-15 18:29:11
在String()構造器不存在的情況下自定義一個MyString()函數,實現如下內建String()方法和屬性:var?s?=?new?MyString(“hello”); s.length;??//5 s[0];??//"h" s.toString();??//"hello" s.charAt(1);??//"e" s.charAt("e");??//"h"??(這個是怎么來的???) s.slice(0,-1);??//"hell" s.split("e");??//["h","llo"] s.reverse();??//"olleh"?題目提示用把字符串當做數組用for循環遍歷,(但是用for循環不就會用到“.length”屬性了嗎?)請教大家,謝謝!
查看完整描述

2 回答

?
天啟之魂

TA貢獻174條經驗 獲得超85個贊

for循環也需要使用.length屬性,foreach就不需要了

查看完整回答
1 反對 回復 2016-02-15
?
亞努人

TA貢獻58條經驗 獲得超75個贊

var?MyString?=?function(str){
??var?list?=?[];
??for(var?i?in?str){
????list[i]?=?str[i];
??}
??
??list.toString?=?function(){
????var?str?=?"";
????for(var?a=0;a<list.length;a++){
??????str?=?str+list[a];
????}
????return?str;
??};
????
??list.valueOf?=?function(){
????var?str?=?"";
????for(var?a=0;a<list.length;a++){
??????str?=?str+list[a];
????}
????return?str;
??};
??
??/*list.charAt?=?function(index){
????return?list[index];
??};*/
??
??list.concat?=?function(st){
????return?str+st;
??};
??
??list.slice?=?function(min,max){
????if(min<max){
??????s?=?"";
??????for(var?m=min;m<max;m++){
????????s?+=?str[m];
??????}
??????return?s;
????}else?if(max<0){
??????s?=?"";
??????for(var?m=min;m<max+str.length;m++){
????????s?+=?str[m];
??????}
??????return?s;
????}else{
??????return?"error";
????}
??};
??
??list.reverse?=?function(){
????arr?=?[];
????for(var?i?in?str){
??????arr[i]?=?str[i];
????}
????arr?=?arr.reverse();
????s?=?"";
????for(var?i=0;i<arr.length;i++){
??????s?+=?arr[i];???
????}
????return?s;
??}
??
??list.split?=?function(s){?
????arr?=?[];
????s_str?=?"";
????var?a?=?0;
????for(var?i?in?str){??????
??????if(str[i]?===?s){
????????arr[a]?=?s_str;
????????a++;
????????s_str?=?"";
??????}else{
????????s_str?+=?str[i];
????????continue;
??????}??????
????}
????arr[a]?=?s_str;???
????return?arr;
??}??
??return?list;
};

var?s?=?MyString("Hello");
s.split("e");

這道題我的代碼如上,但是charAt("e")卻不能通過,請大家再幫忙想想,有沒有其他方法,或者幫忙檢查下我的代碼還需修改的地方,在不改變題目原意的情況下,有沒有更好的代碼,謝謝!

查看完整回答
反對 回復 2016-02-16
  • 彩色積木
    彩色積木
    list.toString方法可以訪問到傳入的參數str,是不是可以考慮直接返回str 不用將數組又轉成字符串呢?
  • 2 回答
  • 0 關注
  • 2034 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號