Javascript 如何使用.filter()访问JSON密钥
如何使用Javascript 如何使用.filter()访问JSON密钥,javascript,jquery,json,methods,filter,Javascript,Jquery,Json,Methods,Filter,如何使用.filter筛选出以下标题?我希望输出类似:{“卷尾猴”,“水豚”}我正在使用JSON,看起来像这样: { "d": { "results": [ { "__metadata": { "id": "N/A", "type": "N/A" }, "Courses": { "results": [ { "__
.filter
筛选出以下标题?我希望输出类似:{“卷尾猴”,“水豚”}我正在使用JSON,看起来像这样:
{
"d": {
"results": [
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Courses": {
"results": [
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Title": "Capuchin Monkey"
},
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Title": "Capybara"
},
JS代码段:
要获得标题列表,如
{“卷尾猴”、“水豚”}
,最好使用而不是
var json={
“d”:{
“结果”:[
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“课程”:{
“结果”:[
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“标题”:“卷尾猴”
},
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“标题”:“水豚”
}
]
}
}
]
}
}
//使用.map
trainingCrs=json.d.results[0].Courses.results.map(x=>x.Title);
控制台日志(“培训标题列表:”,培训CRS);
//使用.filter
trainingCrs=json.d.results[0]。Courses.results.filter(x=>x.Title==“水豚”);
控制台日志(“一个标题上的培训列表过滤器”,培训CRS)代码>我想你需要的是地图,而不是过滤器。
大概是这样的:
{
"d": {
"results": [
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Courses": {
"results": [
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Title": "Capuchin Monkey"
},
{
"__metadata": {
"id": "N/A",
"type": "N/A"
},
"Title": "Capybara"
},
var json={“结果”:[
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“课程”:{
“结果”:[
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“标题”:“卷尾猴”
},
{
“_元数据”:{
“id”:“不适用”,
“类型”:“不适用”
},
“标题”:“水豚”
}]}}]};
const reducedResult=json.results.reduce((act,val)=>act.concat(val));
const titles=reducedResult.Courses.results.map((value)=>value.Title);
控制台日志(标题)代码>“过滤掉”-您的预期结果是什么?包含所有标题的数组?删除所有标题的原始对象?请将预期输出添加到您的问题中!Hi@Jitendra可能重复,当我尝试此操作时,我得到一个“TypeError:无法在我的控制台中获取未定义或空引用的属性'results'”
。嘿,由于某些原因,我在控制台中得到一个错误:“无法获取未定义或空引用的属性'results'”
loadCategories(){
let categs = _categories,
trainingCrs = _categories.d.results.map((x) =>x.Courses.results.Title)
});