-4

实际上,我不知道这叫什么。我想在 Javascript 中做这样的 Python 片段。

提前致谢!

array = {'http://facebook.com' : 'facebook',
'https://twitter.com' : 'twitter',
'https://google.com' : 'google'}

for domain, name in array.items():
    print 'The name of '+domain+' is '+name

编辑,对不起我的错误,并且:编码太累了......

4

4 回答 4

8

你可以使用一个对象:

var obj = {
    "facebook":"http://facebook.com",
    "twitter":"https://twitter.com",
    "google":"https://google.com"
}, name, loc;
for( name in obj) {
    loc = obj[name];
    console.log("The name of "+loc+" is "+name);
}
于 2013-09-21T13:32:25.967 回答
1

首先,您的 python 代码不正确。我假设你的意思是:

array = {'http://facebook.com': 'facebook',
'https://twitter.com': 'twitter',
'https://google.com': 'google'}

for domain, name in array.items():
    print 'The name of '+domain+' is '+name

这叫做字典。

现在,在 javascript 中,字典的写法与上面相同,前面带有 var: var array ...

for 循环可以通过多种方式实现。我的最爱:

var array = {
    'http://facebook.com': 'facebook',
    'https://twitter.com': 'twitter',
    'https://google.com': 'google'
};
Object.keys(array).forEach(function (key) {
    var domain = key,
        name = array[key];
    console.log('The name of '+domain+' is '+name);
});
于 2013-09-21T13:46:11.597 回答
0

在 JavaScript 中没有直接的等价物。您可以创建一个数组并通过两个显式地迭代它:

var array = ['http://facebook.com', 'facebook', ... ];
for (var i = 0; i < array.length; i += 2) {
  var domain = array[i];
  var name = array[i + 1];
  // ...
}
于 2013-09-21T13:32:07.730 回答
0

我认为您的代码段不起作用,您需要在域和名称之间使用冒号,而不是逗号。

无论如何,这是您在 javascript 中执行此操作的方法:

var array = { "http://facebook.com":" facebook", "http://twitter.com": "twitter", "http://google.com": "Google"};
for (var domain in array) 
    console.log("the name of " + domain + " is " + array[domain]) ;
于 2013-09-21T13:39:09.303 回答