Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量装入循环中_Javascript - Fatal编程技术网

Javascript 将变量装入循环中

Javascript 将变量装入循环中,javascript,Javascript,我试图在循环中比较一些重复的值,因为我需要做一些逻辑。我的问题是我不能得到我期望的结果 var tempVal; for (i = 0; i < obj.length; i++) { var items = obj[i]; tempVal = items.fund; console.log(tempVal); console.log(tempVal == tempVal); if(tempVal == tempVal){ //do

我试图在循环中比较一些重复的值,因为我需要做一些逻辑。我的问题是我不能得到我期望的结果

var tempVal;
for (i = 0; i < obj.length; i++) {
    var items = obj[i];
    tempVal = items.fund;
    console.log(tempVal); 
    console.log(tempVal == tempVal); 
    if(tempVal == tempVal){
        //do something
    }
var-tempVal;
对于(i=0;i

在我的示例中,
tempVal
variable.my
console.log(tempVal==tempVal)中有两个相同的值
在第一个循环中返回
true
,但我认为它会在第一个循环中返回
null
未定义
,因为在第一个循环中它是空的,所以没有什么可比较的。我需要的是在第一个循环中返回
false
然后返回
true
。谢谢您正在比较相同的变量e、 显然,它们是相等的,创建另一个变量并进行比较

 tempVal = items.fund;
 console.log(tempVal); 
 console.log(tempVal == tempVal); //both are same

您正在比较同一个变量,显然它们相等,请创建另一个变量并进行比较

 tempVal = items.fund;
 console.log(tempVal); 
 console.log(tempVal == tempVal); //both are same

您尚未定义初始值。因此,obuse变量与它们自身的比较总是相等的。为什么不使用其他名称来删除复杂性呢

var tempVal;
    for (i = 0; i < obj.length; i++) {
       var items = obj[i];
       temp = items.fund;
       console.log(temp); 
       console.log(temp == tempVal); 
         if(temp == tempVal){
              //do something
                 }
var-tempVal;
对于(i=0;i
您尚未定义初始值。因此,obuse变量与它们自身的比较总是相等的。为什么不使用其他名称来删除复杂性呢

var tempVal;
    for (i = 0; i < obj.length; i++) {
       var items = obj[i];
       temp = items.fund;
       console.log(temp); 
       console.log(temp == tempVal); 
         if(temp == tempVal){
              //do something
                 }
var-tempVal;
对于(i=0;i
看看你的代码,我想这就是你想要实现的目标:

var src = [
  {
    "index": 0,
    "fund": 100
  },
  {
    "index": 1,
    "fund": 200
  },
  {
    "index": 2,
    "fund": 100
  }];

var tempFunds = [];
const uniqueFunds = src.filter(item => {
  if (tempFunds.indexOf(item.fund) === -1) {
    tempFunds.push(item.fund);
    return item;
  }
});

// logs the array with unique funds
console.log(uniqueFunds);

如果你想处理重复的基金,你可以在上面实现一个<代码>另一个/代码>分支。虽然你没有选择使用一个for循环,但是你也可以根据你的问题考虑<代码>图或<代码>过滤器> /代码>函数。< / P> < P>查看你的代码,我认为这就是你想要达到的:

var src = [
  {
    "index": 0,
    "fund": 100
  },
  {
    "index": 1,
    "fund": 200
  },
  {
    "index": 2,
    "fund": 100
  }];

var tempFunds = [];
const uniqueFunds = src.filter(item => {
  if (tempFunds.indexOf(item.fund) === -1) {
    tempFunds.push(item.fund);
    return item;
  }
});

// logs the array with unique funds
console.log(uniqueFunds);

如果你想处理重复的基金,你可以在上面实现一个<代码>别号>代码。虽然你没有选择使用for循环,但是你也可以考虑<代码> MAP>代码>或<代码>过滤器<代码>函数(s)。根据您的问题。

它将返回true,因为它们是一个相同的变量。请将它命名为另一个var,然后对
tempVal==tempVal
的所有可能值进行比较,除了
NaN
。我不明白您为什么要将它与自身进行比较,或者您为什么会认为它是
true
如果您分配
tempVal=items.fund
,则“无需比较”。变量不能为“空”",虽然它的值可以是
未定义的
,但是如果你的
tempVal
未定义的
,那么
tempVal==tempVal
将是
真的
。也许你可以解释一下你在这里试图实现的目标。如果我没有正确解释,我很抱歉。在这里。我怎么知道items.fund是否每个l都有相同的值oop?例如,第一个循环items.fund等于“TEST”,第二个循环等于“TEST2”,第三个循环等于“TEST”再说一遍。我该如何过滤呢?你是说你想要一个简单的
true
false
结果来判断每个
项目。fund
值是否与其他项目相同?或者如果当前
项目。fund
与前一个项目不同,那么你想对当前项目做些什么ant检查items.fund value是否与其他项目相同。它将返回true,因为它们是一个且相同的。将其命名为另一个var,然后比较
tempVal==tempVal
对于
tempVal
的每个可能值,除了
NaN
。我不明白为什么要将其与自身进行比较,或者为什么要将其与自身进行比较如果您分配
tempVal=items.fund
,您会认为“没有什么可比较的”。变量不能为“空”,虽然它的值可以是
未定义的
,但是如果你的
tempVal
未定义的
,那么
tempVal==tempVal
将是
真的
。也许你可以解释一下你在这里试图实现的目标。如果我没有正确解释,我很抱歉。在这里。我怎么知道items.fund是否每个l都有相同的值oop?例如,第一个循环items.fund等于“TEST”,第二个循环等于“TEST2”,第三个循环等于“TEST”再说一遍。我该如何过滤呢?你是说你想要一个简单的
true
false
结果来判断每个
项目。fund
值是否与其他项目相同?或者如果当前
项目。fund
与前一个项目不同,那么你想对当前项目做些什么ant检查items.fund值是否与其他循环相同。如何知道items.fund是否在每个循环中都具有相同的值?例如,在第一个循环items.fund上等于“TEST”,第二个循环为“TEST2”,第三个循环为“TEST”再说一遍。我如何过滤它?你需要使用for循环that@chiradee您需要对变量tempval使用fol循环并进行比较如何知道items.fund是否对每个循环具有相同的值?例如,在第一个循环items.fund等于“TEST”,第二个循环为“TEST2”,第三个循环为“TEST”再说一遍。我如何过滤它?你需要使用for循环that@chiradee您需要对变量tempval使用fol循环,并进行比较