`join()`和多维数组Javascript

`join()`和多维数组Javascript,javascript,multidimensional-array,Javascript,Multidimensional Array,我有以下代码: var arr = str.split(' '); for(var i=0, l=arr.length; i<l; i++) { arr[i].split(''); arr[i][0].toUpperCase(); almost =arr[i].join(''); } var arr=str.split(“”); 对于(var i=0,l=arr.length;i当您使用arr[i].split()时,您不会更改数组中的原始元素,因此当您使用ar

我有以下代码:

var arr = str.split(' ');
for(var i=0,  l=arr.length; i<l; i++) {
    arr[i].split('');
    arr[i][0].toUpperCase();
    almost =arr[i].join('');
}
var arr=str.split(“”);

对于(var i=0,l=arr.length;i当您使用
arr[i].split()
时,您不会更改数组中的原始元素,因此当您使用
arr[i].join(“”)
时,您会得到错误,因为
arr[i]
仍然只是一个字符串,您不能在字符串上使用
join
。相反,您需要为该元素指定新值,以便代码看起来像这样

var-arr='lorem ipsum'。拆分('');
对于(变量i=0,l=arr.length;iconsole.log(arr.join(“”))
当您使用
arr[i].split()
时,您并没有更改数组中的原始元素,所以当您使用
arr[i].join(“”)时,您会得到错误,因为
arr[i]
仍然只是一个字符串,您不能在字符串上使用
join
。相反,您需要为该元素指定新值,以便代码看起来像这样

var-arr='lorem ipsum'。拆分('');
对于(变量i=0,l=arr.length;iconsole.log(arr.join(“”))
在这里,我想这就是您想要的:

var str = 'This is a test string';

var arr = str.split(' ');
for(var i=0,  l=arr.length; i<l; i++) {
    var word = arr[i].split('');
    word[0] = word[0].toUpperCase();
    arr[i] = word.join('');
}
console.log(arr.join(' '));
var str='这是一个测试字符串';
var arr=str.split(“”);

对于(var i=0,l=arr.length;i这里,我认为这就是您要寻找的:

var str = 'This is a test string';

var arr = str.split(' ');
for(var i=0,  l=arr.length; i<l; i++) {
    var word = arr[i].split('');
    word[0] = word[0].toUpperCase();
    arr[i] = word.join('');
}
console.log(arr.join(' '));
var str='这是一个测试字符串';
var arr=str.split(“”);

对于(var i=0,l=arr.length;i似乎其他人已经解释了为什么
join
对字符串不起作用。但是,我注意到您的目标似乎是将
str
中的每个单词都大写。您可以使用
string#replace
方法,将函数作为节参数

var string='word事物惊人的图标是的'
console.log(字符串)
string=string.replace(/(\S)(\S*)/g,函数(u,first,rest){
首先返回。toUpperCase()+rest
})

console.log(string)
看起来其他人已经解释了为什么
join
对字符串不起作用。但是,我注意到您的目标似乎是将
str
中的每个单词都大写。您可以使用
string#replace
方法,将函数作为节参数

var string='word事物惊人的图标是的'
console.log(字符串)
string=string.replace(/(\S)(\S*)/g,函数(u,first,rest){
首先返回。toUpperCase()+rest
})

log(string)
对于ES6,您可以使用解构ans rest语法

var str='这是一个测试字符串';
str=str.split(“”).map([first,…rest])=>[first.toUpperCase(),…rest].join(“”)).join(“”);

log(str);
对于ES6,您可以使用解构ans rest语法

var str='这是一个测试字符串';
str=str.split(“”).map([first,…rest])=>[first.toUpperCase(),…rest].join(“”)).join(“”);

控制台.log(STR);

这里有一些概念需要考虑。如果我没有弄错的话,您正在尝试创建一个函数,它将使给定字符串中的每个第一个字母大写。

首先,简单地创建一个函数,使用变量str将任何字符串作为参数,然后再对其进行操作。将该函数视为一个漏斗,有东西进入其中,然后我们会得到另一端作为输出的东西。确保稍后调用该函数

  function capitalize(str) { };
capitalize(every firSt lettEr of the sentence);
现在,在花括号内是神奇的地方。我们可以使用.toLowerCase(),以防字符串中的某些地方有大写字母,然后使用.split()在每个空白处拆分字母,如果字符串中有许多我们试图大写的单词。记住,在拆分()之后您将不再拥有字符串,而是数组中的字符串。请注意,如果在拆分(“”)中使用2个空格,则只会将句子的第一个字母大写

function capitalize(str) { str = str.toLowerCase().split(' '); return str;}
//call function 
capitalize(every firSt lettEr of the sentence);
//outputs ["every first letter of the sentence"]
然后使用一个简单的for循环遍历数组中的每个单词,如下所示:

for (var i=0; i<str.length; i++){}
function titleCase(str) {
  str = str.toLowerCase().split(' ');
  for (var i = 0; i < str.length; i++) {
    str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1); 
}

  return str.join(' ');
}
capitalize("every firSt lettEr of the sentence");

//output "Every First Letter Of The Sentence"

<代码> >(var i=0;i)这里需要考虑的几个概念。如果我没有弄错的话,您正在尝试创建一个函数,该函数将使给定字符串中的每个第一个字母大写。

首先,简单地创建一个函数,使用变量str将任何字符串作为参数,然后再对其进行操作。将该函数视为一个漏斗,有东西进入其中,然后我们会得到另一端作为输出的东西。确保稍后调用该函数

  function capitalize(str) { };
capitalize(every firSt lettEr of the sentence);
现在,在花括号内是神奇的地方。我们可以使用.toLowerCase(),以防字符串中的某些地方有大写字母,然后使用.split()在每个空白处拆分字母,如果字符串中有许多我们试图大写的单词。记住,在拆分()之后您将不再拥有字符串,而是数组中的字符串。请注意,如果在拆分(“”)中使用2个空格,则只会将句子的第一个字母大写

function capitalize(str) { str = str.toLowerCase().split(' '); return str;}
//call function 
capitalize(every firSt lettEr of the sentence);
//outputs ["every first letter of the sentence"]
然后使用一个简单的for循环遍历数组中的每个单词,如下所示:

for (var i=0; i<str.length; i++){}
function titleCase(str) {
  str = str.toLowerCase().split(' ');
  for (var i = 0; i < str.length; i++) {
    str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1); 
}

  return str.join(' ');
}
capitalize("every firSt lettEr of the sentence");

//output "Every First Letter Of The Sentence"

for(var i=0;i
arr[i]。拆分(“”);
是不可操作的。它应该是
arr[i]=arr[i]。拆分(“”);
。可能与预期结果重复?顺便说一句,
arr[i][0]。toUpperCase();
arr[i]。拆分(“”);
是不可操作的。它应该是
arr[i]=arr[i]。拆分(“”)
。可能与预期结果重复?顺便说一句,
arr[i][0]也是如此。toUpperCase();