Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将单个对象提取为对象而不是包含一个对象的数组,Javascript_Javascript_Arrays - Fatal编程技术网

将单个对象提取为对象而不是包含一个对象的数组,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