我想知道是否有任何简单的方法可以使用 Javascript 获得 N 最大值/最小值。
例如:
给 [3,9,8,1,2,6,8]
想要最大 3 个元素
Will return [9,8,8]
Run Code Online (Sandbox Code Playgroud) 我有一个对象列表,我正在尝试使用下划线 findwhere 函数在列表中查找一个对象,其中一个键和另一个对象作为其值。我试过这样做,但得到一个未定义的值。所以我的问题是下划线 findwhere 可用于查找具有另一个对象的值的键的对象,而不是字符串或数字。示例代码。
var a = [
{channel: {aa: "1", bb: "2"}, id: 233332},
{channel: {aa: "3", bb: "4"}, id: 822211}
]
var b = {channel: {aa: "1", bb: "2"}, id: 233332}
Run Code Online (Sandbox Code Playgroud)
_.findWhere(a, b) 应该返回 {channel: {aa: "1", bb: "2"}, id: 233332} 它对具有两个键但填充更多的对象即一个的对象数组所做的有更多的键和值,它似乎不起作用,findWhere 有什么问题或我没有考虑过的任何事情吗?
我有一个对象
{ id1: {name: 'John'}, id2: {name: 'Mary'} }
Run Code Online (Sandbox Code Playgroud)
我需要给assign每个人一个财产。我需要实现这一目标
{ id1: {name: 'John', married: false}, id2: {name: 'Mary', married: false} }
Run Code Online (Sandbox Code Playgroud)
我可以做到这一点forEach比_.values,但它似乎并不像最好的办法。有没有LoDash方法来做到这一点
我正在考虑 lodash for js 并尝试使用 id 键从此对象中选择名称为“one”的对象属性:
{
"one": {
"id":"peter",
"somevalue":1
},
"two": {
"id":"john",
"somevalue":1
}
}
Run Code Online (Sandbox Code Playgroud)
因此,我想:
{
"id":"peter",
"somevalue":1
}
Run Code Online (Sandbox Code Playgroud)
抱歉,我更新了这个问题:如何使用 lodash 完成此操作,根据本例中的名称“one”,使用 key id='peter' 返回此结果?
我有一个API调用返回的JSON数组
[{
"id": 1,
"name": "aa",
"zone": 1
}, {
"id": 2,
"name": "bb",
"zone": 1
}, {
"id": 3,
"name": "cc",
"zone": 2
}, {
"id": 3,
"name": "dd",
"zone": 2
}
]
Run Code Online (Sandbox Code Playgroud)
通过使用lodash,我_.groupBy(myData,'zone')得到了一个对象,其中包含2个数组,每个数组用于一个不同的区域。但是我需要实现的是,在一个包含区域数组并且每个区域都有一个关联名称数组的对象中。
所需结果:
[
{
"zone": "1",
"items": [
{
"id": 1,
"name": "aa",
"zone": 1
},
{
"id": 2,
"name": "bb",
"zone": 1
}
]
},
{
"zone": "2",
"items": [
{
"id": 3,
"name": "cc",
"zone": 2
},
{
"id": 3,
"name": "dd", …Run Code Online (Sandbox Code Playgroud) 怎么转换{2:'b',3:'c',1:'a'}为[{1:'a'},{2:'b'},{3:'c'}]lodash?
这是我的对象:
var obj = {
"flag": false,
"text": "good text",
"someArray": [
{
"questionId": 11,
"text": "qwe",
"TypeId": "B",
"source": "oooooo"
},
{
"questionId": 12,
"text": "zxc",
"TypeId": "A",
"source": "pppppp"
},
{
"questionId": 13,
"text": "asd",
"TypeId": "D",
"source": "cccccc"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是从someArray属性TypeId和source. 我怎样才能用 lodash 做到这一点?我正在尝试使用 _.pick,但我不知道如何在里面使用它someArray。
如何将包含上标的字符串转换为普通字符串?
例如,我有一个包含"n?". 我想将其转换为"n5". 对于字符串"n?",我没有使用任何<sup></sup>标签。它就像你看到的一样。
我目前正在处理一个带有 react 的项目,并且在使用 setState 方法时遇到合并两个对象的问题。我有两个类似的对象
person1 = {
name: 'ramya',
age: 21,
gender: 'f',
skills:{
technicalSkills: {
languages: ['C', 'C++', 'Java'],
operatingSystems: ['Unix', 'Linux']
},
linguisticSkills: {
toSpeak: ['English', 'Tamil'],
toRead: ['English']
}
},
}
obj2 = {
skills: {
linguisticSkills: {
toRead: ['English', 'Tamil']
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想将第 1 个人的 Skills.linguisticSkills 的状态更改为
linguisticSkills: {
toSpeak: ['English', 'Tamil'],
toRead: ['English', 'Tamil']
}
Run Code Online (Sandbox Code Playgroud)
skills.linguisticSkills.toSpeak并skills.linguisticSkills.toRead不断变化,即添加或删除项目。每当它发生变化时,我如何在 setState 中合并 person1 和 obj2 以便我最终处于正确的状态?
更新: _.merge 在这样的情况下失败:
person1 = {
name: 'ramya', …Run Code Online (Sandbox Code Playgroud) 我有一个数组
arr = ["jenny", "lucy", "jason"]
Run Code Online (Sandbox Code Playgroud)
我愿意
_.some(arr, "jenny")
Run Code Online (Sandbox Code Playgroud)
它抛出错误
lodash ×10
javascript ×9
arrays ×4
object ×2
angular ×1
jquery ×1
node.js ×1
sorting ×1
typescript ×1