我有一个数组和一个对象集合(不是一个对象..)。 一个看起来像这样:
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
答案 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});
}
}
我没想到的是你会如何得到正确的字母,但我认为这是某种伪代码,你可以为自己找出正确的字母。