Javascript 角度2,找到数组中的下几个元素

Javascript 角度2,找到数组中的下几个元素,javascript,arrays,Javascript,Arrays,我的Angular 2应用程序中有一组对象。我需要获得数组中的下五个元素,其键大于我传递的键 If I pass key = 1, should return values with keys [2,3,4,5,6] If I pass key = 2, should return values with keys [3,4,5,6,7] If I pass key = 10, should return values with keys [11,12,13,14] If I pass ke

我的Angular 2应用程序中有一组对象。我需要获得数组中的下五个元素,其键大于我传递的键

If I pass key = 1, should return values with keys [2,3,4,5,6]
If I pass key = 2, should return values with keys  [3,4,5,6,7]
If I pass key = 10, should return values with keys  [11,12,13,14]
If I pass key = 12, should return values with keys  [13,14]

[
{key: "1", value: "value1"}
{key: "2", value: "value2"}
{key: "3", value: "value3"}
{key: "4", value: "value4"}
{key: "5", value: "value5"}
{key: "6", value: "value6"}
{key: "7", value: "value7"}
{key: "8", value: "value8"}
{key: "9", value: "value9"}
{key: "10", value: "value10"}
{key: "11", value: "value11"}
{key: "12", value: "value12"}
{key: "13", value: "value13"}
{key: "14", value: "value14"}
]
var newArr=[];
data.forEach(函数(eachObj){
if(eachObj.key>kaypassed&&i
var newArr=[];
data.forEach(函数(eachObj){

如果(eachObj.key>kaypassed&&i您可以使用JS
filter
筛选出密钥小于所提供密钥的所有对象,如果返回的数组包含5个以上的元素,则可以使用
splice
。请参见下文

getNextEls = (key) => {

  var arr = data.filter((x) => {
    return parseInt(x.key) > key
  })

  arr = arr.length > 5 ? arr.slice(0, 5) : arr
  return arr
}
现在,如果您只想返回这些项或值,可以在过滤器中添加以下条件

if (parseInt(x.key) > key){
  return parseInt(x.key) //if you want the key.
  return x[x.key] //if you want the values
}
var数据=[{
关键:“1”,
值:“值1”
},
{
键:“2”,
价值:“价值2”
},
{
关键:“3”,
价值:“价值3”
},
{
关键:“4”,
价值:“价值4”
},
{
钥匙:“5”,
价值:“价值5”
},
{
关键:“6”,
价值:“价值6”
},
{
钥匙:“7”,
价值:“价值7”
},
{
键:“8”,
价值:“价值8”
},
{
钥匙:“9”,
价值:“价值9”
},
{
钥匙:“10”,
价值:“价值10”
},
{
钥匙:“11”,
价值:“价值11”
},
{
钥匙:“12”,
价值:“价值12”
},
{
钥匙:“13”,
价值:“价值13”
},
{
钥匙:“14”,
价值:“价值14”
}
]
getNextEls=(键)=>{
var arr=数据过滤器((x)=>{
返回parseInt(x.key)>key
})
arr=arr.length>5?arr.slice(0,5):arr
返回arr
}
console.log(getNextEls(1))
console.log('----')
console.log(getNextEls(2))
console.log('----')
console.log(getNextEls(3))
console.log('----')

console.log(getNextEls(12))
您可以使用JS
filter
筛选出密钥小于提供密钥的所有对象,如果返回的数组包含5个以上的元素,则可以使用
splice
。请参见下文

getNextEls = (key) => {

  var arr = data.filter((x) => {
    return parseInt(x.key) > key
  })

  arr = arr.length > 5 ? arr.slice(0, 5) : arr
  return arr
}
现在,如果您只想返回这些项或值,可以在过滤器中添加以下条件

if (parseInt(x.key) > key){
  return parseInt(x.key) //if you want the key.
  return x[x.key] //if you want the values
}
var数据=[{
关键:“1”,
值:“值1”
},
{
键:“2”,
价值:“价值2”
},
{
关键:“3”,
价值:“价值3”
},
{
关键:“4”,
价值:“价值4”
},
{
钥匙:“5”,
价值:“价值5”
},
{
关键:“6”,
价值:“价值6”
},
{
钥匙:“7”,
价值:“价值7”
},
{
键:“8”,
价值:“价值8”
},
{
钥匙:“9”,
价值:“价值9”
},
{
钥匙:“10”,
价值:“价值10”
},
{
钥匙:“11”,
价值:“价值11”
},
{
钥匙:“12”,
价值:“价值12”
},
{
钥匙:“13”,
价值:“价值13”
},
{
钥匙:“14”,
价值:“价值14”
}
]
getNextEls=(键)=>{
var arr=数据过滤器((x)=>{
返回parseInt(x.key)>key
})
arr=arr.length>5?arr.slice(0,5):arr
返回arr
}
console.log(getNextEls(1))
console.log('----')
console.log(getNextEls(2))
console.log('----')
console.log(getNextEls(3))
console.log('----')
console.log(getNextEls(12))
var数据=[
{键:“1”,值:“value1”},
{键:“2”,值:“value2”},
{键:“3”,值:“value3”},
{键:“4”,值:“value4”},
{键:“5”,值:“value5”},
{键:“6”,值:“value6”},
{键:“7”,值:“value7”},
{键:“8”,值:“value8”},
{键:“9”,值:“value9”},
{键:“10”,值:“value10”},
{键:“11”,值:“value11”},
{键:“12”,值:“value12”},
{键:“13”,值:“value13”},
{键:“14”,值:“value14”}
]   
GetNextFile=(键)=>{
const index=data.findIndex(obj=>obj.key==key);//无类型检查
if(索引>-1){//if键存在于数据中
返回data.slice(索引+1,索引+6).map(val=>parseInt(val.key))
}else{//如果数据中不存在键
返回[]
}
}
console.log(getNextFive(1));
console.log(getNextFive(2));
console.log(getNextFive(10));
console.log(getNextFive(12));
var数据=[
{键:“1”,值:“value1”},
{键:“2”,值:“value2”},
{键:“3”,值:“value3”},
{键:“4”,值:“value4”},
{键:“5”,值:“value5”},
{键:“6”,值:“value6”},
{键:“7”,值:“value7”},
{键:“8”,值:“value8”},
{键:“9”,值:“value9”},
{键:“10”,值:“value10”},
{键:“11”,值:“value11”},
{键:“12”,值:“value12”},
{键:“13”,值:“value13”},
{键:“14”,值:“value14”}
]   
GetNextFile=(键)=>{
const index=data.findIndex(obj=>obj.key==key);//无类型检查
if(索引>-1){//if键存在于数据中
返回data.slice(索引+1,索引+6).map(val=>parseInt(val.key))
}else{//如果数据中不存在键
返回[]
}
}
console.log(getNextFive(1));
console.log(getNextFive(2));
console.log(getNextFive(10));

console.log(getNextFive(12));
你试过什么吗?可能像
let newArr=ogArr.filter(obj->parseInt(obj.key)>key | parseInt(obj.key)你试过什么吗?可能像
let newArr=ogArr.filter(obj->parseInt(obj.key)>key | parseInt(obj.key)这样的东西您在何处定义了
newArray
?虽然此代码可以回答此问题,但提供有关此代码为什么和/或如何回答此问题的附加上下文可以提高其长期价值。您在何处定义了
newArray
?而此代码可以回答此问题,提供有关此代码为什么和/或如何回答此问题的附加上下文回答了这个问题,提高了它的长期价值。