2014-04-16 77 views
-2
var array1 = ["hello", "sam", "how"]; 

var emptyArray2 = []; 

array1.join(" "); 

我需要取出array1中每個元素的第一個字母和最後一個字母,並將其推送到emptyArray2。將其轉換爲字符串後,我不知道該做什麼。我想我需要使用for循環來通過它,然後我將如何提取每個元素中的第一個和最後一個字母並將其推送到emptyArray2?取出數組中的每個元素的第一個字母和最後一個字母(javascript)

+0

以一個字母在字符串可以做使用'str [i]'。至於推入數組,搜索「推數組javascript」。 –

+0

@dystroy我只需要第一個和最後一個。怎麼會把剩下的放在外面? – user3525853

+0

@ user3525853預期輸出是什麼? – thefourtheye

回答

0
var array1 = ["hello", "sam", "how"], result = []; 
array1.forEach(function(currentString) { 
    result.push(currentString.charAt(0)); // First character 
    result.push(currentString.charAt(currentString.length - 1)); //Last character 
}); 
console.log(result); 
# [ 'h', 'o', 's', 'm', 'h', 'w' ] 
+0

你應該使用'.charAt()'而不是字符串索引。 – jfriend00

+1

@ jfriend00當然,但你能告訴我爲什麼嗎? – thefourtheye

+0

@thefourtheye,請參閱['string.charAt(x)or string [x]?'](http://stackoverflow.com/questions/5943726/string-charatx-or-stringx)基本上,IE7不支持字符串索引。 –

2

遍歷數組並返回字符串減去第一個字符和最後一個字符。 地圖功能將創建一個新的數組,子串需要索引1的所有字符的字符串的總長度 - 1.

var array2 = ["hello", "sam", "how"].map(function(p){return p.substring(1, p.length - 1)}) 
+1

這不會刪除每個元素中的第一個和最後一個字母。 – jfriend00

+0

我的不好,認爲只有第一個字符應該被刪除,我更新了子字符串。 – Hatsjoem

0
var array1 = ["hello", "sam", "how"]; 

var emptyArray2 = []; 

array1.forEach(function(item){ 
//item.charAt(0) will give character at start of string 
//item.charAt(item.length-1) will give character at end of string 
emptyArray2.push(item.charAt(0),item.charAt(item.length-1)); 
//Array.push(..) is to append elements into the array 
}); 
console.log(emptyArray2); // will print ["h","o","s","m","h","w"] in console 
相關問題