Javascript 如何在不使用string.charAt()的情况下读取数组中字符串的第一个字符?
假设我有一个带字符串的数组:Javascript 如何在不使用string.charAt()的情况下读取数组中字符串的第一个字符?,javascript,Javascript,假设我有一个带字符串的数组: ["1234", "1223", "5454", "abc", "abdd"] 我想读取每个字符串的第一个字符并将其放入一个新数组: ["1", "1", "5", "a", "a"] 我尝试使用字符串[0],但在Javascript的for循环中它似乎不起作用,有什么解决方法吗 对于@Ryan的请求,以下是我的代码: filteredsubstr = substr.filter(function(item){ //substr is an array with
["1234", "1223", "5454", "abc", "abdd"]
我想读取每个字符串的第一个字符并将其放入一个新数组:
["1", "1", "5", "a", "a"]
我尝试使用字符串[0],但在Javascript的for循环中它似乎不起作用,有什么解决方法吗
对于@Ryan的请求,以下是我的代码:
filteredsubstr = substr.filter(function(item){ //substr is an array with strings.
for (var key in item){
if(key != 0 || key !=''){
var fckey = key[0];
return fckey;
}
}
});
你可以用
var testArr = ["1234", "1223", "5454", "abc", "abdd"],
newArr = [];
testArr.forEach( function(str){
newArr.push(str.substring(0,1));
});
更好的功能和效率的版本
var testArr = ["1234", "1223", "5454", "abc", "abdd"];
function getFirst(arr){
return arr.map(function(str){
return str.substring(0,1);
});
}
console.log(getFirst(testArr));
了解阵列方法的最佳视频
您可以使用
var testArr = ["1234", "1223", "5454", "abc", "abdd"],
newArr = [];
testArr.forEach( function(str){
newArr.push(str.substring(0,1));
});
更好的功能和效率的版本
var testArr = ["1234", "1223", "5454", "abc", "abdd"];
function getFirst(arr){
return arr.map(function(str){
return str.substring(0,1);
});
}
console.log(getFirst(testArr));
了解阵列方法的最佳视频
您需要使用map而不是filter
变量字符串=[123412235454,abc,abdd]
var firstChars=strings.mapfunction string{
返回字符串[0];
}
console.logfirstChars您需要使用map而不是filter
变量字符串=[123412235454,abc,abdd]
var firstChars=strings.mapfunction string{
返回字符串[0];
}
logfirstChars对于ES6,您可以使用,因为字符串是可编辑的
var数组=[123412235454,abc,abdd];
结果=数组.map[a]=>a;
console.logresult 对于ES6,您可以使用,因为字符串是可编辑的
var数组=[123412235454,abc,abdd];
结果=数组.map[a]=>a;
console.logresult;字符串[x]不会在for循环中停止工作;请显示您的尝试。substr,substring[0]-因此,arr.mapx=>x[0]应该执行以下操作trick@Ryan代码已更新。字符串[x]在for循环中不会停止工作;请显示您的尝试。substr,substring[0]-因此,arr.mapx=>x[0]应该执行以下操作trick@Ryan代码已更新。forEach+push是一个映射。forEach+push是一个映射。