【问题标题】:How do i compare a single number with different numbers in another array? Javascript如何将单个数字与另一个数组中的不同数字进行比较? Javascript
【发布时间】:2014-06-30 09:13:47
【问题描述】:

我有一个 id(示例:2),并且我有一个具有不同 id 的列表(示例:1、2、3、4、5)。 我希望用 1, 2 ,3 ,4 ,5 在列表中检查 id 2 是否相等(两个 id 都与 2 = 2 中的相同)。但在我的代码中,它只检查第一行。因此,因为另一个数组以 1 而不是 2 开头,所以我的代码无法找到连接并且不执行任何操作。像这样:

        2 = 1 , false
(here it stops) = 2,  false
(here it stops) = 3,  false
(here it stops) = 4,  false

我想要这个:

        2 = 1 , false
        2 = 2 , true -> execute a code
        2 = 3 , false
        2 = 4 , false

有人可以帮我吗? 这是我的代码:

for (var i = 0; i < emailArray.length; i++) {

    if (ascalda[i].address_email.indexOf(emailArray[i].email_id) >= 0) {
        emaill.push(emailArray[i].email_title);
    }

数组:

ascalda: 

{"address_id":"1",
"address_street":"Vlietstraat",
"address_postalcode":"4536 DG",
"address_housenr":"1",
"address_city":"Terneuzen",
"address_country":"Nederland",
"address_email":"1",
"address_telnr":"1"};





emailArray:
 [
 {email_id: '2', email_title: 'RocWebmail@roc.nl', email_type: '9'},
 {email_id: '1', email_title: 'ScaldaWebmail@scalda.nl', email_type: '8'}
 ];

我使用钛作为程序。 提前致谢!!

我的控制台日志:

[INFO][ActivityManager(   62)] Starting: Intent { cmp=com.Innovisionsolutions.com/org.appcelerator.titanium.TiActivity (has extras) } from pid 425
[INFO][TiAPI   (  425)]  ["1"]
[INFO][TiAPI   (  425)]  [{"address_id":"1","address_street":"Vlietstraat","address_postalcode":"4536 DG","address_housenr":"1","address_city":"Terneuzen","address_country":"Nederland","address_email":"1","address_telnr":"1"}]
[INFO][TiAPI   (  425)]  1
[INFO][TiAPI   (  425)]  undefined
[INFO][TiAPI   (  425)]  [{"address_id":"1","address_street":"Vlietstraat","address_postalcode":"4536 DG","address_housenr":"1","address_city":"Terneuzen","address_country":"Nederland","address_email":"1","address_telnr":"1"}]
[INFO][TiAPI   (  425)]  [{"email_id":"2","email_title":"RocWebmail@roc.nl","email_type":"9"},{"email_id":"1","email_title":"ScaldaWebmail@scalda.nl","email_type":"8"}]
[INFO][TiAPI   (  425)]  1
[INFO][TiAPI   (  425)]  ["ScaldaWebmail@scalda.nl"]
[INFO][TiAPI   (  425)]  ["623232323"]
[INFO][ActivityManager(   62)] Displayed com.Innovisionsolutions.com/org.appcelerator.titanium.TiActivity: +1s248ms

【问题讨论】:

  • 你确定你的 ascalada 是正确的吗?
  • @Mritunjay 是的,它是正确的。 ://
  • @VickyGonsalves 什么是 jsfiddle:P?
  • 参考:jsfiddle.net
  • @VickyGonsalves jsfiddle.net/Qh3WL 我不认为这会起作用,代码是基于一个android应用程序的:P

标签: javascript arrays numbers compare


【解决方案1】:

你试过了吗

    for (var j = 0; i < ascalda.length; j++) {
     for (var i = 0; i < emailArray.length; i++) {
        if (ascalda[j].address_email == emailArray[i].email_id) {
            emaill.push(emailArray[i].email_title);
        } 
     }
    }

由于您对两个值都使用相同的字符串(“1”,“2”..)。

【讨论】:

  • 不起作用,但是如果我在 ascalda[i].address_email 中将 [i] 替换为 [0] 它可以工作,那么问题是它仅在 ascalda.address_email 有 1 个数字时才有效,并且它有多个:P
猜你喜欢
  • 2017-07-03
  • 1970-01-01
  • 2015-10-17
  • 1970-01-01
  • 2012-08-08
  • 2018-06-07
  • 1970-01-01
  • 2019-05-17
  • 2014-08-01
相关资源
最近更新 更多