拼接数组和返回元素不等于特定元素

时间:2017-05-15 19:29:26

标签: javascript arrays

我有一个使用Object.keys()转换的对象,其中键存储在数组中。我正在尝试循环遍历数组以拼接出我正在尝试写的其余函数不需要的键。

var objectDef = { 
    pitcher: 'dave',
    runner: 'joel',
    umpire: 'kevin',
    action/0/id: 1,
    action/0/name: 'review', 
    action/0/killjoy: 'no' 
  }

  //define array of keys
 var givenObject = typeof objecDef == "object" ? Object.keys(objectDef) : [objectDef];

我如何拼接拼接动作/ 0 / killjoy和action / 0 / name?我只想要投手,跑步者,裁判和动作/ 0 / id返回。根据从服务器接收的数据,这些不需要的字段可能存在也可能不存在。

2 个答案:

答案 0 :(得分:0)

Object.keys(objectDef).filter(key=>typeof objectDef[key]!=="object");

只需检查对象元素是否为对象......

答案 1 :(得分:0)

使用object spread/rest notation

if(i==0) 
begin
    FULL_ADDER inst(.S(Y[i]), .CO(CO_TO_CI[i]), .A(A[i]), .B(XOR_OUT[i]), .CI(SnA));
end
else if(i==31) 
begin
    FULL_ADDER inst(.S(Y[i]), .CO(CO), .A(A[i]), .B(XOR_OUT[i]), .CI(CO_TO_CI[i-1]));
end
else 
begin
    FULL_ADDER inst(.S(Y[i]), .CO(CO_TO_CI[i]), .A(A[i]), .B(XOR_OUT[i]), .CI(CO_TO_CI[i-1]));
end

const {'action/0/killjoy': ignore1, 'action/0/name': ignore2, ...newObject} = objectDef; 现在将包含其余属性。

在浏览器支持之前,您需要进行某种转换。