从对象数组中检索数组值

时间:2017-11-17 19:30:55

标签: javascript arrays

我想在myRegister函数下检索数组值名称。但我不认为arrayFullNames.name是正确的。

for (i in 2:ncol(df))
  df[,i] = ifelse(is.na(df[,i]), df[,i-1],df[,i])

3 个答案:

答案 0 :(得分:1)

您可以使用array#some

  

some()方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。

var arrayFullNames = [{ name: 'David', surname: 'Jones', age: 29 }, { name: 'Jack', surname: 'Sparrow', age: 33 }, { name: 'Monkey', surname: 'Idontknow', age: 9 }, { name: 'JavaScript', surname: 'Something', age: '6 weeks' } ];

function onRegister() {
  var userQuestion = prompt("What is your name", '');
  if (arrayFullNames.some(({name}) => name === userQuestion)) {
    alert('name match');
  } else {
    alert('no match');
  }
}
onRegister()

答案 1 :(得分:0)

Arrays基于不像对象的索引工作。请尝试以下

       if(jToggleButton2.isSelected()){
          new Thread(new Runnable(){

          public void run(){
                  long start = null;
                  do{
                         start = System.currentTimeMillis();
                        jButton1ActionPerformed(evt);
                   }while(jToggleButton2.isSelected() &&jSystem.currentTimeMillis()-start>3000)
          }
          }).start();

    }  

答案 2 :(得分:0)

您可以使用array.indexOf功能解决此问题:

if (arrayFullNames.indexOf(function(obj) { 
  return userQuestion == obj.name;
}) > -1) {
  alert('name match');
} else {
  alert('no match');
}
如果数组中没有匹配项,则

indexOf返回-1,否则返回匹配的索引。

您也可以以类似的方式使用array.includes