例如:
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) 有一个对象数组(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) 在检索这样的 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)
我如何有条件地过滤它,以便...如果soccer是myFavoriteSport键的值,则返回包含该myFavoriteSport: soccer对的所有对象的数组?我确定我最终会pushing将该对象放入数组中,但我不太知道如何将其单独列出以便将其分配给一个变量。
我确定它会涉及某种类型的循环,但这是我第一次使用 JSON 和这种类型的对象,所以我有点不确定如何处理它。
我知道已经回答了一个类似的问题,但我的问题有所不同,我只是不想找到它,我只是想更新它
我有一个像这样的 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) 我有一系列这样的对象。
[{
"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中以有效的方式做到这一点。
我是 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 中如何实现这一点?感谢您的帮助。
在我的角度应用程序的一个控制器中,我有一个变量集如下.
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) 如果我有这样的数组:
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'}。
什么是最快,最轻巧的方法?
我有一个对象数组:
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"。
我在获取 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 ×10
arrays ×5
node.js ×3
json ×2
object ×2
angularjs ×1
api ×1
ecmascript-6 ×1
typescript ×1