相关疑难解决方法(0)

JavaScript:查找值是否在数组中的对象内的最佳方法

可能重复:
在JavaScript对象数组中按id查找对象
如何检查此JavaScript数组中是否存在值?

例如:

var arr = [
     {id: 1, color: 'blue'},
     {id: 2, color: 'red'},
     {id: 3, color: 'yellow'}
];

alert( indexOf('blue') ); // How can I get the index of blue??
Run Code Online (Sandbox Code Playgroud)

javascript arrays object

5
推荐指数
2
解决办法
885
查看次数

javascript - 搜索嵌套对象数组,如果在子对象中找到值则返回父对象

有一个对象数组(489 个对象)。一个对象有一个键,它有另一个对象(子对象)。子对象的数量是不确定的。

我也创建了一个小提琴。请找到以下搜索功能:

function getObjects(obj, key, val) {
    var objects = [];
    for (var i in obj) {
        if (!obj.hasOwnProperty(i)) continue;
        if (typeof obj[i] == 'object') {
            parent = obj;
            objects = objects.concat(getObjects(obj[i], key, val));    
        } else {
            if(obj[i].toString().toLowerCase().indexOf(val.toString().toLowerCase()) > -1) {
                objects.push(obj);
            }
        } 
    }
    return objects;
} 
Run Code Online (Sandbox Code Playgroud)

在这里,我想在包括嵌套对象 ( asset_info)的对象数组中搜索搜索字符串。没有getObjects使用以下功能的搜索工作正常。

    this.data.filter(function(row){ 
        var flag; 
        for(var prop in (columns.length > 0 ? columns : row)){ 
          flag = false; 
          flag = row[columns.length > 0 ? columns[prop] …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

Javascript:根据键的值有条件地过滤 JSON?

在检索这样的 JSON 之后:

"JSON": [
{
  "mySchool": "college",
  "myHome": "apartment",
  "myFavoriteSport": "soccer"
},
{
  "mySchool": "highschool",
  "myHome": "house",
  "myFavoriteSport": "hockey"
},
{
  "mySchool": "college",
  "myHome": "box",
  "myFavoriteSport": "soccer"
},
{
  "mySchool": "elementary",
  "myHome": "tent",
  "myFavoriteSport": "soccer"
}
]
Run Code Online (Sandbox Code Playgroud)

我如何有条件地过滤它,以便...如果soccermyFavoriteSport键的值,则返回包含该myFavoriteSport: soccer对的所有对象的数组?我确定我最终会pushing将该对象放入数组中,但我不太知道如何将其单独列出以便将其分配给一个变量。

我确定它会涉及某种类型的循环,但这是我第一次使用 JSON 和这种类型的对象,所以我有点不确定如何处理它。

javascript api json object node.js

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

如何在不循环的情况下更新数组内的JS对象值?

我知道已经回答了一个类似的问题,但我的问题有所不同,我只是不想找到它,我只是想更新它

我有一个像这样的 JS 对象数组:

let data = [
  {
    contact_id: 15,
    use_id: 16,
    name: 'ABC',
    phoneNo: '0092123456789',
    checked: false,
  },
  {
    contact_id: 16,
    use_id: 22,
    name: 'DEF',
    phoneNo: '0092123456788',
    checked: false,
  },
  {
    contact_id: 17,
    use_id: 24,
    name: 'XYZ',
    phoneNo: '0092123456787',
    checked: false,
  }
];
Run Code Online (Sandbox Code Playgroud)

现在考虑到这一点,我有一个名为phoneNo保证唯一值的属性。

checked现在我想要的是切换给定数字的值。

我尝试过的:

for (let i = 0; i < data.length; i++) {
    if (data[i]['phoneNo'] === item.phoneNo) {
        data[i]['checked'] = !data[i]['checked'];
        break; // to make it a little efficent :-) …
Run Code Online (Sandbox Code Playgroud)

javascript node.js ecmascript-6

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

如何在对象数组中查找和替换对象

我有一系列这样的对象。

 [{
    "id": 1,
    "name": "January",
    "abc": abc,
    "xyz": xyz
}, {
    "id": 2,
    "name": "February",
    "abc": abc,
    "xyz": xyz
}]
Run Code Online (Sandbox Code Playgroud)

我想用不同的对象替换 id 2 的对象,并且我希望我的对象像这样。

 [{
    "id": 1,
    "name": "January",
    "abc": abc,
    "xyz": xyz
}, {
    "id": 2,
    "name": "New month",
    "abc": 1234abc,
    "xyz": someVlaue
}]
Run Code Online (Sandbox Code Playgroud)

如何在打字稿或JavaScript中以有效的方式做到这一点。

javascript arrays typescript

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

使用node.js从json文件读取值

我是 Node.js 的新手,有点被困在这里。我有一个类似于此的 json 文件 keyValue.json

[ {
    "key": "key1",
    "value": "value1"
  },   
  {
    "key": "key2",
    "value": "value2"
  } 
]
Run Code Online (Sandbox Code Playgroud)

对于特定的键,我需要获取其值。

function filterValue() {
  const category = {};
  category.filter = "key1" //this is not static value. This changes dynamically
  category.value = //Need to read the keyValue.json file and pick the value for key1 - which is value1
  return category;
}
Run Code Online (Sandbox Code Playgroud)

在node.js 中如何实现这一点?感谢您的帮助。

javascript node.js

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

从中获取特定对象和没有循环的数组的最佳方法

在我的角度应用程序的一个控制器中,我有一个变量集如下.

SomeService.get({}, function(data){
    // this sets xyz as the list of the data retrieved 
    // from the resource within the controllers scope
    $scope.xyz = data.objects;    
});
Run Code Online (Sandbox Code Playgroud)

现在$scope.xyz看起来像

[
    0: {id: 1, ...more data here ...},
    1: {id: 2, ...more data here ...},
    2: {id: 3, ...more data here ...},
    3: {id: 4, ...more data here ...},
    4: {id: 5, ...more data here ...},
    5: {id: 6, ...more data here ...},
]
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用id属性(而不是列表索引)在xyz中获取一个对象.我知道我可以按如下方式迭代数组.

angular.forEach($scope.xyz, function(obj){ return obj.id …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

3
推荐指数
2
解决办法
8553
查看次数

通过对象值选择数组索引

如果我有这样的数组:

var array = [{ID:1,value:'test1'},
             {ID:3,value:'test3'},
             {ID:2,value:'test2'}]
Run Code Online (Sandbox Code Playgroud)

我想通过ID选择一个索引。

即,我想以某种方式选择ID:3并获取{ID:3,value:'test3'}

什么是最快,最轻巧的方法?

javascript arrays

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

如何检查 JavaScript 中对象数组中是否存在某个值?

我有一个对象数组:

var arrObj = [
    { a: "11", b: "Test1" },
    { a: "22", b: "Test2" },
    { a: "33", b: "Test1" },
    { a: "44", b: "Test3" },
];
Run Code Online (Sandbox Code Playgroud)

我想检查是否存在具有特定属性值的对象a。如果存在,那么它应该返回 property 的值b
的价值a永远是独一无二的。

例如,如果我正在寻找"11",那么它应该返回"Test1"

javascript arrays javascript-objects

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

在 JSON 数组中按属性查找对象

我在获取 JSON 数据中的字符串时遇到问题。格式如下:

[
  {
    "name": "Alice",
    "age": "20"
  },
  {
    "id": "David",
    "last": "25"
  },
  {
    "id": "John",
    "last": "30"
  }
]
Run Code Online (Sandbox Code Playgroud)

有时它会一起改变位置,John从第三名变成第二名:

[
  {
    "name": "Alice",
    "age": "20"
  },
  {
    "name": "John",
    "age": "30"
  },
  {
    "name": "David",
    "age": "25"
  }
]
Run Code Online (Sandbox Code Playgroud)

如果我用来data[3].age获取 的John年龄,并且数据改变位置,我将得到David的年龄。

我可以使用任何方法来查找对象并name David获取age值吗?

javascript json

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