如何使用JavaScript循环遍历数组中的所有条目?
我以为它是这样的:
forEach(instance in theArray)
Run Code Online (Sandbox Code Playgroud)
theArray
我的阵列在哪里,但这似乎是不正确的.
我有一个对象:
myObject = { 'a': 1, 'b': 2, 'c': 3 }
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个本机方法,类似于Array.prototype.map
将使用如下:
newObject = myObject.map(function (value, label) {
return value * value;
});
// newObject is now { 'a': 1, 'b': 4, 'c': 9 }
Run Code Online (Sandbox Code Playgroud)
JavaScript是否具有map
对象的这种功能?(我想将它用于Node.JS,所以我不关心跨浏览器问题.)
如果我创建这样的对象:
var obj = {};
obj.prop1 = "Foo";
obj.prop2 = "Bar";
Run Code Online (Sandbox Code Playgroud)
生成的对象总是这样吗?
{ prop1 : "Foo", prop2 : "Bar" }
Run Code Online (Sandbox Code Playgroud)
也就是说,属性是否与我添加它们的顺序相同?
我需要按键对JavaScript对象进行排序.
因此如下:
{ 'b' : 'asdsad', 'c' : 'masdas', 'a' : 'dsfdsfsdf' }
Run Code Online (Sandbox Code Playgroud)
会成为:
{ 'a' : 'dsfdsfsdf', 'b' : 'asdsad', 'c' : 'masdas' }
Run Code Online (Sandbox Code Playgroud) Javascript中的"for ... in"循环是否按照声明的顺序循环遍历hashtables/elements?是否有一个浏览器没有按顺序执行?
我想要使用的对象将被声明一次,永远不会被修改.
假设我有:
var myObject = { A: "Hello", B: "World" };
Run Code Online (Sandbox Code Playgroud)
我进一步使用它们:
for (var item in myObject) alert(item + " : " + myObject[item]);
Run Code Online (Sandbox Code Playgroud)
在大多数体面的浏览器中,我可以期待'A:'你好''总是先来'B:'世界"吗?
如何将整数转换为罗马数字?
function romanNumeralGenerator (int) {
}
Run Code Online (Sandbox Code Playgroud)
例如,请参阅以下示例输入和输出:
1 = "I"
5 = "V"
10 = "X"
20 = "XX"
3999 = "MMMCMXCIX"
Run Code Online (Sandbox Code Playgroud)
警告:仅支持1到3999之间的数字
在一个真实的简单案例中测试它们会产生相同的输出:
const obj = {a: 5, b: 5};
console.log(Reflect.ownKeys(obj));
console.log(Object.keys(obj));
// Result
['a', 'b']
['a', 'b']
Run Code Online (Sandbox Code Playgroud)
什么时候Reflect.ownKeys(obj)
产生的输出不同Object.keys(obj)
?
我正在尝试转换此数组
let orders = [
{ amount: '100', user: 'admin', date: 'March 6, 2019' },
{ amount: '120', user: 'admin', date: 'March 6, 2019' },
{ amount: '80', user: 'admin', date: 'March 7, 2019' },
{ amount: '200', user: 'admin', date: 'March 7, 2019' },
];
Run Code Online (Sandbox Code Playgroud)
像这样
orders = [
['100', 'admin', 'March 6, 2019'],
['120', 'admin', 'March 6, 2019'],
['80', 'admin', 'March 7, 2019'],
['200', 'admin', 'March 7, 2019'],
];
Run Code Online (Sandbox Code Playgroud)
并且我读过Objects.values()
返回数组中值的内容,因此我尝试通过在order
数组中的每个项目上使用forEach()
和使用来遍历Object.values
数组。 …
在JavaScript中我可以有一个带孔的数组:
a = [];
a[0] = 100;
a[5] = 200;
a[3] = 300;
a.forEach(function(x) {alert(x);});
Run Code Online (Sandbox Code Playgroud)
我无法找到有关元素是否按升序处理的信息,或者这不是可靠的事实.
我检查了"for .. in"循环以升序遍历数组索引,而对象的属性名称以与添加到对象相同的顺序遍历(至少看起来如此).
(即看起来数组是某种类型的内部树,而对象是哈希表.)
我刚刚发现Rhino JavaScript也遍历了不存在的元素:http: //ideone.com/7Z3AFh(与for..in不同).
使用数组迭代for...in
不保证顺序,但ES6引入了新的构造for...of
.
我对实现的有限测试for...of
表明它在数组上按顺序迭代,但这个属性是否有保证?
javascript ×10
arrays ×3
ecmascript-6 ×2
for-loop ×2
foreach ×2
object ×2
sorting ×2
es2015 ×1
iteration ×1
loops ×1
map-function ×1
node.js ×1