僅當它們滿足條件時,我才嘗試洗掉陣列中元素的最后一個字符。例如:如果它們以 s 結尾,那么我將洗掉 s。如果不是,元素應該保持不變。這就是我嘗試這樣做的方式:
let myList = []
for (let i = 0; i < arrays.length; i ){
if (arrays[i].substring(arrays[i].length - 1) == 's'){
item = arrays[i].slice(0,-1);
myList.push(item);
}else{
myList.push(arrays[i]);
}
但是它不起作用,為什么?
uj5u.com熱心網友回復:
這邊走
const
arr = ['Johns','Paul', 'ringos', 'Georges']
, myList = arr.map( name => /s$/.test(name) ? name.slice(0, -1) : name)
;
console.log( myList )
uj5u.com熱心網友回復:
如果名稱,那么您可以將其設為:endsWith sslice
const arr = ["Johns", "Paul", "ringos", "Georges"];
const myList = arr.map(name => name.endsWith("s") ? name.slice(0, -1) : name);
console.log(myList);
uj5u.com熱心網友回復:
從你寫的代碼來看,它似乎缺少}. 如果您想知道為什么終端中什么也沒有發生,那是因為您沒有撰寫console.log(myList)代碼。此代碼應該有效:
const arrays = ['Apples', 'Oranges', 'Bananas', 'Pear']
let myList = []
for (let i = 0; i < arrays.length; i ){
if (arrays[i].substring(arrays[i].length - 1) == 's') {
item = arrays[i].slice(0,-1);
myList.push(item);
} else {
myList.push(arrays[i]);
}
}
console.log("List:", myList)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360555.html
標籤:javascript 数组 子串
