相关疑难解决方法(0)

对象传播与Object.assign

假设我有一个options变量,我想设置一些默认值.

这两种选择的好处/缺点是什么?

使用对象传播

options = {...optionsDefault, ...options};
Run Code Online (Sandbox Code Playgroud)

或者使用Object.assign

options = Object.assign({}, optionsDefault, options);
Run Code Online (Sandbox Code Playgroud)

这是让我惊讶的提交.

javascript ecmascript-6

343
推荐指数
9
解决办法
14万
查看次数

Javascript中的Prototyping对象打破了jQuery?

.js在我的页面中添加了一个简单的文件,其中添加了一些非常普通的常见任务类型的函数ObjectArray原型.

通过反复试验,我发现添加任何函数Object.prototype,无论它的名称或它的作用导致jQuery中的Javascript错误:

罪魁祸首?

Object.prototype.foo = function() {
    /*do nothing and break jQuery*/
};
Run Code Online (Sandbox Code Playgroud)

jquery-1.3.2.js在attr:function {}声明中得到第1056行的错误:

/*Object doesn't support this property or method*/
name = name.replace(/-([a-z])/ig, function(all, letter) {
            return letter.toUpperCase();
        });
Run Code Online (Sandbox Code Playgroud)

显然G.replace是未定义的.

虽然很明显有些东西我只是没有用原型制作来解决问题,但我很难弄清楚它是什么.

要清楚,我不是在寻找一种解决方法,我已经处理好了......我正在寻找的是为什么要回答.为什么要添加一个函数来Object.prototype打破这段代码呢?

javascript prototyping jquery prototype

35
推荐指数
3
解决办法
1万
查看次数

如何在已声明的JSON对象中添加键值对

我已经声明了一个JSON对象,并在其中添加了一些键值对,如:

var obj  = {};
Run Code Online (Sandbox Code Playgroud)

并添加了一些数据,如:

obj = {
"1":"aa",
"2":"bb"
};
Run Code Online (Sandbox Code Playgroud)

但是我想在同一个对象中添加更多的键值对,如果我添加上面提到的键值对,那么它将替换旧的键值对.那么任何人都可以告诉我如何在同一个JSON对象中添加数据,即obj.

javascript json

18
推荐指数
4
解决办法
10万
查看次数

在javascript中为一个对象数组添加一个键值对?

如果我有这样的数组:

var myarray = [];

myarray.push({
    "Name": 'Adam',
    "Age": 33
});

myarray.push({
    "Name": 'Emily',
    "Age": 32
});
Run Code Online (Sandbox Code Playgroud)

这给了我一个数组,我可以拿出值myarray[0].Name给我"亚当"的值.

然而,这种阵列建成后,我怎么能添加一个"地址"字段与"地方街"的一个值在位置数组[0],让自己在该对象领域在零位置现在Name,AgeAddress用相应的价值?

我想splice()某想但是找不到使用对象的例子,只是简单数组的例子.

javascript arrays object keyvaluepair

12
推荐指数
2
解决办法
7万
查看次数

数组长度返回0

任何人都可以帮助解释为什么长度返回0?非常感谢你提前!

var errors = [];
errors[''] = "Monday Morning slot already taken. Would you like to replace it?";
console.log(errors);
document.write(errors.length);
Run Code Online (Sandbox Code Playgroud)

javascript arrays

9
推荐指数
3
解决办法
3万
查看次数

如何将数组作为JavaScript中的新属性推送到另一个数组元素中?

所以,例如,我有以下数组

var sections = [{ name: 'apple', count: 20 },
                 { name: 'banana', count: 80 },
                 { name: 'oranges', count: 10 }]
Run Code Online (Sandbox Code Playgroud)

现在,如果我想添加更多项目,那么我可以做到

sections.push({ name: 'mango', count: '32' });
Run Code Online (Sandbox Code Playgroud)

这将把新数组添加到部分.

现在,假设,我有另一个数组,显示水果的来源和数量.

var country = [{ country: 'usa', count: 5 },
               { country: 'brazil', count: 27 }]
Run Code Online (Sandbox Code Playgroud)

所以,我想将这个新country数组添加到第三个元素中,sections使用一个名为country的新prop,如下所示.

var sections = [{ name: 'apple', count: 20 },
                { name: 'banana', count: 80 },
                { name: 'oranges', count: 10,
                  country: [{ country: 'usa', count: 5 },
                            { country: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays push

5
推荐指数
1
解决办法
2224
查看次数

javascript中的键值对

在 MongoDb 中应用过滤器

我需要在嵌入文档中的 mongoDb 中应用过滤器,所以我如何进行查询

例子:

var query = {
_id:userId,
'match.Id':matchId,
'match.userId':userId1
}
Run Code Online (Sandbox Code Playgroud)

现在我想应用过滤器让我们假设

案例 1:我的查询应该是这样的

 var query = {
    _id:userId,
    'match.Id':matchId,

    }
Run Code Online (Sandbox Code Playgroud)

案例2:

 var query = {
    _id:userId,
    'match.userId':userId1
    }
Run Code Online (Sandbox Code Playgroud)

可能有很多这样的情况

所以我的问题是如何在 node.js/javascript 中创建这个查询对象

我的工作:我可以在一个对象中创建多个键,但创建如下键不起作用

var query={}
query._id:userId // works
query.'match.userId':matchId // error
query.match.userId:matchId //error
Run Code Online (Sandbox Code Playgroud)

尝试下面的代码得到了所需的输出,但它带有方括号,但 arr 的类型是对象

var arr = [];
arr[ 'key3.abc' ] = "value3";
arr[ 'key2.abc' ] = "value3";
console.log(arr)//[ 'key3.abc': 'value3', 'key2.abc': 'value3' ]
Run Code Online (Sandbox Code Playgroud)

所需的输出:

{'key3.abc': 'value3', 'key2.abc': 'value3'}
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js

2
推荐指数
1
解决办法
8916
查看次数

TypeScript/JavaScript 数组值推送

我有这个对象: keyValue : { key : string , value : number}[];

我想从两个值向该数组添加一个新元素,如下所示:

 let tmpTabKV : { key : string , value : number}[];
 [...]
 tmpTabKV.push({projet.libelle, statKV.value});
 [...]
 keyValue  = tmpTabKV;
Run Code Online (Sandbox Code Playgroud)

我尝试了多种语法并看到了这个: How can I add a key/valuepair to a JavaScript object?

但我没有看到任何创建新对象的键。数组的使用让我犯了一个 错误

tmpTabKV.push(Array(projet.libelle, statKV.value));
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

2
推荐指数
1
解决办法
5952
查看次数

将变量推入对象

我试图将我的变量推送到这个对象但不确定如何以正确的方式:

如果手动输入jsonArray如下所示:

jsonArray = {
        "Person 1": ["Address Rd. City", "777 Street Ave. City"],
        "Person 2": ["Address2 Rd. City2", "777 Street Ave. City"]
        }
Run Code Online (Sandbox Code Playgroud)

我有一个循环,我想将变量推入jsonArray,我正在这样尝试:

   var jsonArray = {};    
   for (var i = 0....my loop, etc)...
   jsonArray.push({fullname: [address, destination]});
Run Code Online (Sandbox Code Playgroud)

这不起作用,当我JSON.stringify(jsonArray)时,jsonArray总是显示为{}

javascript jquery

1
推荐指数
1
解决办法
4685
查看次数

Javascript map函数:向对象添加新键和值

我有这样的JSON数组

var array= [{id:1,name:'foo'},{id:2,name:'bar'}]
Run Code Online (Sandbox Code Playgroud)

我想isApproved为现有数组中的每个对象添加一个新键(例如:)

预期产量:

var array= [{id:1,name:'foo',isApproved:true},{id:2,name:'bar',isApproved:true}] 
Run Code Online (Sandbox Code Playgroud)

我使用map函数来实现这一点

array.map(function(e,index){
     e.isApproved[index]= true
}
Run Code Online (Sandbox Code Playgroud)

但这不适合我

javascript arrays

1
推荐指数
2
解决办法
7961
查看次数

javascript 类实例对象字面量

有没有一种简便的方法可以在 javascript 中向类的实例添加属性?

编辑:重复的答案是关于向对象而不是类添加属性。我试图让用户轻松添加大约 10-20 个属性。我还试图确保他们无法添加自己的属性,而只能向预定义的属性添加值。我不知道该怎么做。

我有一个 javascript“类”:

function Car(){
this.make="";
this.model="";
//...
}
Run Code Online (Sandbox Code Playgroud)

要创建实例并添加属性,我将使用:

var mycar = new Car();
    mycar.make="honda";
    mycar.model="civic";
    //...
Run Code Online (Sandbox Code Playgroud)

有没有一种快捷方式来创建实例并添加属性,这样我就不必键入“mycar”。每一次?

javascript class object-literal shorthand

0
推荐指数
1
解决办法
1275
查看次数

如何在现有 Javascript 对象中添加带值的动态键?

我有一个现有的 javascript 对象。

let existingObject = {
    1: {
        'prop1': 'prop1 value',
        'prop2': 'prop2 value'
    },
    2: {
        'prop1': 'prop1 value',
        'prop2': 'prop2 value'
    },
    3: {
        'prop1': 'prop1 value',
        'prop2': 'prop2 value'
    }
}
Run Code Online (Sandbox Code Playgroud)

我想向该现有对象添加一个属性。我的新关键值是:

const key = 4;
const value = {
    'prop1': 'prop1 value',
    'prop2': 'prop2 value'
}
Run Code Online (Sandbox Code Playgroud)

附加键和值后,我的新对象应该是,

const newObject = {
    1: {
        'prop1': 'prop1 value',
        'prop2': 'prop2 value'
    },
    2: {
        'prop1': 'prop1 value',
        'prop2': 'prop2 value'
    },
    3: {
        'prop1': 'prop1 value',
        'prop2': …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects lodash

-2
推荐指数
1
解决办法
4709
查看次数