在Javascript中将元素添加到对象中

时间:2015-10-26 09:12:21

标签: javascript node.js

我有一个数组和一个对象集合(不是一个对象..)。 一个看起来像这样:

array = new Array[1,2,3,4,5]

另一个看起来像这样:

{number:1, letter:a}
{number:2, letter:b}
{number:3, letter:c}
{number:5, letter:e}

我该如何推

{number:4, letter:d} 

进入对象?

for (var i=0, arrLen=array.length; i<arrLen; ++i){
 if( obj.number != array[i]{
    obj.push(create an object) // I don't know how to create such an object
    }
}

我尝试了其他方法,但我认为.indexOf不起作用。

for ( var k = 0, kLen = dateList.length; k < kLen; ++k){
        if(obj.date.indexOf(dateList[k]) === -1){
            obj.push() // I don't know how to push {number:4, letter:d}  in
        }
    }

======================

有很多混淆...... 我希望最终输出在对象集合中。但首先我需要根据array

找到“缺失对象”

2 个答案:

答案 0 :(得分:1)

从我在评论中收集到的内容,您希望将对象推送到数组而不是其他对象

这样做实际上非常简单。您只需获取原始数组并将对象推送到它。即。

var array = []; // This contains your current objects

array.push({number:4, letter:'d'}); // Push your new object into the array

答案 1 :(得分:1)

JavaScript-Syntax并不要求你实例化对象,你可以简单地定义它们。

所以如果你有上面的数组

var array = [1,2,3,4,5];
var object_array = [
   {number:1, letter:a}
   {number:2, letter:b}
   {number:3, letter:c}
   {number:5, letter:e}
  ];

你必须迭代对象数组才能找到&#34;缺少&#34;像这样的对象。 小心检查未定义,因为如果有&#34;缺少&#34;您可能会遇到错误的对象。

for(var i=0, j= array.length;i<j;i++){
   if(object_array[i] === undefined || object_array[i].number !== i){
       object_array.splice(i,0, {number: i, letter: d});
   } 
}

我没想到的是你会如何得到正确的字母,但我认为这是某种伪代码,你可以为自己找出正确的字母。