有人能告诉我使用"Object Literal Notation"和JSON对象定义的JavaScript对象之间的主要区别是什么?
根据一本JavaScript书,它说这是一个使用Object Notation定义的对象:
var anObject = {
property1 : true,
showMessage : function (msg) { alert(msg) }
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,为什么它不是JSON对象?仅仅因为它没有使用引号定义?
我正在玩数组试图更多地理解它们,因为我最近倾向于与它们合作.我得到了这种情况,我想搜索一个数组并将它的元素值与另一个包含某些选定过滤器值的数组进行比较.
例如,如果我选择3个过滤器,我希望稍后在新数组中写入匹配 - 只匹配所有3个过滤器.
为了便于理解,我在http://jsfiddle.net/easwee/x8U4v/36/上设置了一个示例
代码是:
var workItems = [
{ "id": 2616, "category": ".category-copy .category-beauty .category-fashion"}, //this is a match
{ "id": 1505, "category": ".category-beauty"}, // NOT
{ "id": 1500, "category": ".category-beauty .category-fashion"}, // NOT
{ "id": 692, "category": ".category-stills .category-retouching"}, // NOT
{ "id": 593, "category": ".category-beauty .category-capture .category-fashion .category-product .category-stills .category-stills-retouching "}, // NOT
{ "id": 636, "category": ".category-beauty .category-copy .category-fashion"}, //this is a match
{ "id": 547, "category": ".category-fashion .category-lifestyle .category-stills .category-stills-retouching "}, // …Run Code Online (Sandbox Code Playgroud) 我有一个数组模型如下:
records:[{
"empid":1,
"fname": "X",
"lname": "Y"
},
{
"empid":2,
"fname": "A",
"lname": "Y"
},
{
"empid":3,
"fname": "B",
"lname": "Y"
},
{
"empid":4,
"fname": "C",
"lname": "Y"
},
{
"empid":5,
"fname": "C",
"lname": "Y"
}
]
Run Code Online (Sandbox Code Playgroud)
现在我有一系列的empid [1,4,5].
所以现在我需要过滤包含我第二个中所有键的第一个数组.
输出:
records:[{
"empid":1,
"fname": "X",
"lname": "Y"
},
{
"empid":4,
"fname": "C",
"lname": "Y"
},
{
"empid":5,
"fname": "C",
"lname": "Y"
}
]
Run Code Online (Sandbox Code Playgroud)
我可以使用forEach循环进行此操作,angular但因为我的模型对象中有超过100条记录.我需要一个关于如何更好地处理这个问题的建议.
我正在考虑创建一个自定义过滤器,但你对它有何看法.(如果是,请提供示例代码来实现此目的).
您的帮助得到了认可.
谢谢.
我试图通过其中一个键的值获取数组中的对象.
数组:
var arr = [
{
city: 'Amsterdam',
title: 'This is Amsterdam!'
},
{
city: 'Berlin',
title: 'This is Berlin!'
},
{
city: 'Budapest',
title: 'This is Budapest!'
}
];
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的事情,lodash但没有成功.
var picked = lodash.pickBy(arr, lodash.isEqual('Amsterdam');
Run Code Online (Sandbox Code Playgroud)
它返回一个空对象.
关于如何以lodash的方式做到这一点的任何想法(如果它甚至可能)?我可以用经典的方式做到这一点,创建一个新的数组,循环遍历所有对象,并将符合我标准的对象推送到新数组.但有没有办法用lodash做到这一点?
这不是重复的.
我有一个对象数组,如下所示:
var events = [
{ date: "18-02-2016", name: "event A" },
{ date: "22-02-2016", name: "event B" },
{ date: "19-02-2016", name: "event C" },
{ date: "22-02-2016", name: "event D" }
];
Run Code Online (Sandbox Code Playgroud)
我有一个约会,例如"22-02-2016".如何获得一个数组,其中所有对象的日期与给定日期相同?所以在这个例子中我会得到事件B和D.
我有一系列像这样的房子,
{
"homes" : [{
"home_id" : "1",
"address" : "321 Main St",
"city" : "Dallas",
"state" : "TX",
"zip" : "75201",
"price" : "925",
"sqft" : "1100",
"year_built" : "2008",
"account_type_id" : "2",
"num_of_beds" : "2",
"num_of_baths" : "2.0",
"geolat" : "32.779625",
"geolng" : "-96.786064",
"photo_id" : "14",
"photo_url_dir" : "\/home_photos\/thumbnail\/2009\/06\/10\/"
}],
..........
}
Run Code Online (Sandbox Code Playgroud)
我想提供3种不同的搜索方法.
如何返回此家庭区域数组的子集:
priceX和Y之间bathrooms> = Zbedrooms= = A或== B或== C.例如,我如何创建psuedo代码,如:
homes.filter {price >= 150000, price <= 400000, …Run Code Online (Sandbox Code Playgroud) 我已经看到了这个问题很老的答案,2年前使用的许多技术都发生了变化.
我所拥有的是由数据库发送到我的服务器的JSON文件,我想知道的是如何过滤该数据.
我正在使用node.js运行服务器,我想做的是:
var results = QueryLibrary.load(jsondata);
var filtered = results.query('select where user = "user1"');
Run Code Online (Sandbox Code Playgroud)
如何在节点中运行的javascript中执行此类操作?
我有一个这样的数组:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}, {
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}]
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下条件创建一个新数组:
array.rating.average每个数字 ( array.number) 的最高评分( )输出应该是:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}
}]
Run Code Online (Sandbox Code Playgroud)
我刚刚设法按最高评分排序:
array.sort(function(a , b) {
return a.rating.average - b.rating.average;
});
array.reverse();
Run Code Online (Sandbox Code Playgroud)
但是,现在,我只想要每个副本一个对象array.number …
我有一个数组,其值是ID,电子邮件和密码。
let array = [
{id: hyu, email: a@a.com, password: 123},
{id: rft, email: b@b.com, password: 456},
{id: ght, email: c@c.com, password: 789},
{id: kui, email: d@d.com, password: 679}
]
Run Code Online (Sandbox Code Playgroud)
现在,我想在条件匹配时返回该对象。为此,我使用javascript some函数创建了一个函数,但是我想返回该对象,并且我们知道该some函数返回布尔值。
我不知道该怎么做。
我的代码是:
const isEmailExists = (email, array) => {
return array.some(function(el) {
return el.email === email;
});
};
if (isEmailExists("c@c.com", array) == true) {
// I want to work here with returned objects i.e on success case
} else {
// error case
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都非常感谢
我有一个包含一些布尔值的对象,如下所示:
{ date: "2017-10-05", name_change: false, age_change: true, ... }
Run Code Online (Sandbox Code Playgroud)
我想要filter()那些真实的钥匙。我还需要日期值。我该怎么做这个filter?
问候。
javascript ×9
arrays ×3
json ×3
ecmascript-6 ×2
node.js ×2
angularjs ×1
filter ×1
html ×1
jquery ×1
lodash ×1
react-native ×1
reactjs ×1
sorting ×1