将单个对象提取为对象而不是包含一个对象的数组,Javascript
我有一个对象数组,只想提取一个对象,但稍后将该对象作为对象处理,而不是一个包含一个对象的数组。我的对象数组是:将单个对象提取为对象而不是包含一个对象的数组,Javascript,javascript,arrays,Javascript,Arrays,我有一个对象数组,只想提取一个对象,但稍后将该对象作为对象处理,而不是一个包含一个对象的数组。我的对象数组是: var holidayList = [ {name: "CHRISTMAS", month: 11, modifier: 5},{...},{...}, ] 例如,要提取具有名称:“CHRISTMAS”的对象,我使用过滤器: var holidayIn = "CHRISTMAS"; var toDoHoliday = holidayList.f
var holidayList = [
{name: "CHRISTMAS",
month: 11,
modifier: 5},{...},{...},
]
例如,要提取具有名称:“CHRISTMAS”
的对象,我使用过滤器:
var holidayIn = "CHRISTMAS";
var toDoHoliday = holidayList.filter(function(x){
return x.name === holidayIn;
});
现在如果我console.log(toDoHoliday)代码>我得到一个数组,其中有一个对象。我尝试使用地图:
var toDoHoliday = holidayList.filter(function(x){
return x.name === holidayIn;
}).map(function(element){
return {name: element.name};
});
它返回toDoHoliday
作为[{name:“CHRISTMAS”}]
,因此仍然是一个包含一个对象的数组
我怎样才能把我的对象作为一个对象,这样我以后就可以做类似于toDoHoliday.name
之类的事情了 使用[n]
符号从.filter()返回的对象数组中选择索引n
处的项
使用[n]
符号从.filter()返回的对象数组中选择索引n
处的项
您可以使用:
如果数组中的元素满足提供的测试函数,则find()
方法将返回数组中的值。否则将返回未定义的
注意:并非所有浏览器都支持它,因此如果代码在浏览器中运行,则需要对其进行填充。您可以使用:
var holidayIn = "CHRISTMAS";
var toDoHoliday = null; // Will remain as this if not found
for ( var i = 0; i < holidayList.length; i++ ){
if ( holidayList[i].name === holidayIn ){
toDoHoliday = holidayList[i];
break;
}
}
如果数组中的元素满足提供的测试函数,则find()
方法将返回数组中的值。否则将返回未定义的
注意:并非所有浏览器都支持它,因此如果代码在浏览器中运行,则需要对其进行填充。var holidayIn=“CHRISTMAS”;
var holidayIn = "CHRISTMAS";
var toDoHoliday = null; // Will remain as this if not found
for ( var i = 0; i < holidayList.length; i++ ){
if ( holidayList[i].name === holidayIn ){
toDoHoliday = holidayList[i];
break;
}
}
var toDoHoliday=null;//如果找不到,将保持不变
对于(var i=0;i
var holidayIn=“圣诞节”;
var toDoHoliday=null;//如果找不到,将保持不变
对于(var i=0;i
如果你对第三方库没问题,你就不能通过lodash(自切片面包以来最有用的东西之一)和函数(在你的特殊情况下)
从文档中:
var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false },
{ 'user': 'pebbles', 'age': 1, 'active': true }
];
_.find(users, function(o) { return o.age < 40; });
// → object for 'barney'
// using the `_.matches` iteratee shorthand
_.find(users, { 'age': 1, 'active': true });
// → object for 'pebbles'
// using the `_.matchesProperty` iteratee shorthand
_.find(users, ['active', false]);
// → object for 'fred'
// using the `_.property` iteratee shorthand
_.find(users, 'active');
// → object for 'barney'
var用户=[
{'user':'barney','age':36','active':true},
{'user':'fred','age':40','active':false},
{'user':'pebbles','age':1',active':true}
];
_.find(用户,函数(o){返回o.age<40;});
// → “barney”的对象
//使用` \ matches` iteratee速记
_.find(用户,{'age':1,'active':true});
// → “鹅卵石”的对象
//使用`.\matchesProperty`iteratee速记
_.find(用户,['active',false]);
// → “fred”的对象
//使用`..property` iteratee速记
_.find(用户,“活动”);
// → “barney”的对象
当然,除了简单的,它还有很多其他用途。查找如果你对第三方库还满意,你就不能通过lodash(自切片面包以来最有用的东西之一)和函数
从文档中:
var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false },
{ 'user': 'pebbles', 'age': 1, 'active': true }
];
_.find(users, function(o) { return o.age < 40; });
// → object for 'barney'
// using the `_.matches` iteratee shorthand
_.find(users, { 'age': 1, 'active': true });
// → object for 'pebbles'
// using the `_.matchesProperty` iteratee shorthand
_.find(users, ['active', false]);
// → object for 'fred'
// using the `_.property` iteratee shorthand
_.find(users, 'active');
// → object for 'barney'
var用户=[
{'user':'barney','age':36','active':true},
{'user':'fred','age':40','active':false},
{'user':'pebbles','age':1',active':true}
];
_.find(用户,函数(o){返回o.age<40;});
// → “barney”的对象
//使用` \ matches` iteratee速记
_.find(用户,{'age':1,'active':true});
// → “鹅卵石”的对象
//使用`.\matchesProperty`iteratee速记
_.find(用户,['active',false]);
// → “fred”的对象
//使用`..property` iteratee速记
_.find(用户,“活动”);
// → “barney”的对象
当然,除了简单的,它还有很多其他用途。查找最好的方法是先迭代数组。
所以,在这里输入代码
var cnt = holidayList.length();
for(var i = 0; i < cnt; i++){
var newObject = holidayList[$i];
//And now you can do newObject.name etc
}
var cnt=holidayList.length();
对于(var i=0;i
最好的方法是先迭代数组。
所以,在这里输入代码
var cnt = holidayList.length();
for(var i = 0; i < cnt; i++){
var newObject = holidayList[$i];
//And now you can do newObject.name etc
}
var cnt=holidayList.length();
对于(var i=0;i
另一种方法是使用
var holidayIn=“圣诞节”;
var holidayList=[
{名称:“圣诞节”,月份:11,修饰语:5},
{名称:“圣诞节1”,月份:12,修饰语:65},
{名称:“圣诞节2”,月份:144,修饰语:77},
]
让[toDoHoliday]=holidayList.filter((x)=>{
返回x.name==holidayIn
})
console.log(toDoHoliday)
console.log(toDoHoliday.name)
另一种方法是使用
var holidayIn=“圣诞节”;
var holidayList=[
{名称:“圣诞节”,月份:11,修饰语:5},
{名称:“圣诞节1”,月份:12,修饰语:65},
{名称:“圣诞节2”,月份:144,修饰语:77},
]
让[toDoHoliday]=holidayList.filter((x)=>{
返回x.name==holidayIn
})
console.log(toDoHoliday)
console.log(toDoHoliday.name)
另一种方法是使用
var holidayIn=“CHRISTM