从JSON对象中删除数据

时间:2017-06-14 06:00:20

标签: javascript jquery json

我已经关注输出代码了 enter image description here

我想从数组中删除位置。当我尝试#include <iostream> #include <string> using std::cout; using std::endl; using std::string; int main() { string light1 = "off"; string light2 = "off"; string electricity = "off"; bool power(false); bool pressure(true); cout << ("The Electricity is " + electricity +", Light #1 is " + light1 +" and Light #2 is "+ light2 +".") << endl; power = pressure = true; if ((power) && (pressure)) { light1 = "on"; light2 = "on"; electricity = "on"; } cout << ("The Electricity is " + electricity +", Light #1 is " + light1 +" and Light #2 is "+ light2 +".") << endl; } 时没有删除。但是当我尝试delete $products.position;它只是从第一个删除。

5 个答案:

答案 0 :(得分:5)

循环遍历数组的元素并从每个元素中删除position

for (var i = 0; i < $products.length; i++) {
   delete $products[i].position;
}

答案 1 :(得分:1)

我会使用map代替forEach

const products = [{ foo: 'bar', position: 1 }, { foo: 'baz', position: 2}, { doo: 'daz' }];
console.log(products.map(obj => delete obj.position && obj));
.as-console-wrapper { max-height: 100% !important; top: 0; }

虽然可能性较差,但对我来说更有意义,因为你想生成一个新的数组,为每个元素应用delete函数。

答案 2 :(得分:0)

试试这个

$products.forEach(function(item){ 
    delete item.position; 
});

答案 3 :(得分:0)

有多种方法可以从数组中删除特定位置的JSON对象,但我建议使用splice方法,因为它比其他方法更快。

products.splice(position, 1);

第一个参数表示要开始的位置,第二个参数表示要拼接的对象数。由于您只想删除一个对象,因此应该写入1(一)。此处的位置从0(零)开始,因此相应地插入位置。

答案 4 :(得分:0)

这个对我有用。

for(var i in $products){
    delete $products[i].position;
}