js map遍历 修改对象里面的值_js中那些方法不改变原来的数组对象
一、map方法
[javascript] view plain copy
function fuzzyPlural(single) {
var result = single.replace(/o/g, 'e');
//replace也不會修改原來數(shù)組的值,這里打印[foot,goose,moose,kangaroo]
//alert(single);
//下面為新的數(shù)組添加了一個元素,但是我們看到在map的時候沒有對添加的元素進(jìn)行處理,所以map調(diào)用的結(jié)果還是沒有變化:["feet", "geese", "meese", "kangareese"]
//但是可以知道words結(jié)果已經(jīng)變化了!
//words[4]="metoo";
//雖然下面通過修改length為3將數(shù)組截斷了,從而相當(dāng)于刪除了第四個元素,但是map方法并不會檢測到這種變化,所以在map方法調(diào)用的結(jié)果數(shù)組長度還是為4,只是最后一個元素變成了空了!但是這種刪除會影響外層的words,使得他的長度變成了3!
//但是在具體的fuzzyPlural只會調(diào)用三次!(通過alert(single)就可以知道,因?yàn)檫@里已經(jīng)把數(shù)組截斷了,但是返回的數(shù)組長度還是4,一個為空!)
words.length=3;
if( single === 'kangaroo'){
result += 'se';
}
return result;
}
var words = ["foot", "goose&
總結(jié)
以上是生活随笔為你收集整理的js map遍历 修改对象里面的值_js中那些方法不改变原来的数组对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10切换窗口不流畅怎么办?Win1
- 下一篇: markdown java 代码高亮_M