使用for循环而不是map以小写形式返回数组中的所有值
Return all values from array in lowercase using for loop instead of map
var sorted = words.map(function(value) {
return value.toLowerCase();
}).sort();
这段代码以小写形式返回words数组中的所有值并对它们进行排序,但是我想对for
循环做同样的事情,但是我不能。
我试着:
for (var i = 0; i < words.length; i++) {
sorted = [];
sorted.push(words[i].toLowerCase());
};
您现在也可以通过使用箭头函数和数组的map()
方法来非常简单地实现这一点:
var words = ['Foo','Bar','Fizz','Buzz'].map(v => v.toLowerCase());
console.log(words);
注意map()
只能在支持ES2015的浏览器中工作。换句话说,除了IE8和更低的版本。
同样,箭头函数在IE中根本不起作用。对于旧浏览器安全版本,您需要使用匿名函数:
var words = ['Foo','Bar','Fizz','Buzz'].map(function(v) {
return v.toLowerCase();
});
console.log(words);
push被过度使用。
for (var i = 0, L=words.length ; i < L; i++) {
sorted[i]=words[i].toLowerCase();
}
如果您希望快速并且有一个非常大的单词数组,请调用一次toLowerCase -
sorted=words.join('|').toLowerCase().split('|');
对于数组,+=
操作符不会执行您所期望的操作—它在数组上调用.toString
并将它们连接起来。相反,您希望使用数组push
方法:
var sorted = [];
for (var i = 0; i < words.length; i++) {
sorted.push(words[i].toLowerCase());
}
sorted.sort();
我知道这是一个稍后的答案,但我发现了一个更漂亮和更简单的方法:
yourArray = ['this', 'iS an', 'arrAy'];
console.log(yourArray); // ["this", "iS an", "arrAy"]
yourLowerArray = yourArray.toLocaleString().toLowerCase().split(',');
console.log(yourLowerArray); //["this", "is an", "array"]
解释它的作用:
.toLocaleString()
->将数组转换成以逗号分隔的字符串。
.toLowerCase()
->将该字符串转换为小写。
.split(',')
->将小写字符串转换回数组
希望这对你有帮助!
toLowerCase()
是函数,你应该在它后面写()
我假设您将sorted
声明为数组。如果是这样,请使用push
方法而不是+=
:
for (var i = 0; i < words.length; i++) {
sorted.push(words[i].toLowerCase());
}
toLowerCase方法在代码中没有被调用,只是被引用。将循环中的行改为:
sorted += words[i].toLowerCase();
Add()调用方法。
完整工作代码:
var words = ["FOO", "BAR"];
var sorted = [];
for (var i = 0; i < words.length; i++) {
sorted.push(words[i].toLowerCase());
};
console.log(sorted);
words.forEach(function (item, index) {
words[index] = item.toLowerCase();
});
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回