将数据对象设置为:
var data = [{id:1, name:'t1'},{id:2, name:'t2'},{id:1, name:'t3'}]
这可以在数组中包含不同的JSON对象。
var data = [{value:1, key:'t1'}]
如何克隆JSON对象并重置其值。 例如,{id:1,名称:'t1'}到{id:0,名称:''}和{value:1,键:'t1'}到{value:0,键:''}
我试图这样做:
function getNew()
{
return {id:0, name:''}; //here JSON can be vary.
}
但是问题是,它的static reset,这里的JSON对象可以改变。 我只需要获取上面的内联“数据”集合的空JSON对象。
答案 0 :(得分:0)
有些只是列出数组中的每个项目。如果您想要array1的结果,arr1.forEach
会返回1, 2, 3, 4, 5
数组中的每一项,直到结束为止。
包含的意思是,如果arr2.includes(1)
我们看到array2包含项1,那么我使用!arr2.includes(item)
来查看它是否不包含项。
最后一个示例,获取array2中的最后一个结果。然后将其更改为该值+ 1。
我给你很多伙伴的例子。
var arr1 = [1, 2, 3, 4, 5]
var arr2 = [1, 2, 3, 4, 6]
var final = []
arr1.forEach(item => {
if (!arr2.includes(item)) {
final.push(item)
final.push({new: item+2})
console.log('A: Array 2 does not have', item)
}
})
console.log("New array", final)
// Or
function check(a, b, callback) {
var x = []
a.forEach(item => {
if (!b.includes(item)) {
x.push(item)
x.push({new: item+2})
console.log('B: Array 2 does not have', item)
}
})
callback(x)
}
check(arr1, arr2, function(response) {
console.log("Example two new array", response)
})
// Or last
var y = []
for (var i = 0; i < arr2.length; i++) {
if (i == arr2.length-1) {
y.push({"new": arr2[i]+1})
}
}
console.log("C: Last", y)
// Another
var data = [{one: "1"}]
function last(x, callback) {
var finalz = x[x.length - 1]; // Change value
callback(finalz)
}
last(data, function(response) {
var finalb = []
for (property in response) {
finalb.push({"new_last_example": property+1000})
}
console.log(finalb)
})
答案 1 :(得分:0)
这将为您提供最后一个值:
var data = [{id:1, name:'t1'},{id:2, name:'t2'},{id:1, name:'t3'}];
var newData = data.pop();
答案 2 :(得分:0)
已经提供了.pop
答案,所以我提出了另外两种选择:
更新:即使数据容易更改,这也会重置您的密钥。
var data = [{
value: 1,
key: 't1',
'obj': {
name: 1
},
'arr': [1, 2, 3, 4, 5],
'test': "undefined"
},
{
value: 333,
'arr': 'no arr',
'some': "undefined"
}
];
var resetJSON = function(arr) {
var defaultTypes = {
'string': '',
'number': 0,
'object': {},
'array': [],
'function': function() {},
'boolean': false
};
var detectType = function(value) {
// object | array
// function
// string
// number
// boolean
// undefined ( as string )
// null
try {
let type = "";
if (typeof value === "string") {
type = "string";
}
if (value === void 0) {
type = "undefined";
}
if (typeof value === "number") {
type = "number";
}
if (typeof value === "boolean") {
type = "boolean";
}
if (typeof value === "object" && typeof(value.length) === "number") {
type = 'array';
}
if (typeof value === "object" && typeof(value.length) === "undefined") {
type = 'object';
}
return type;
} catch (e) {
return "null";
}
}
arr = arr.map(function(item) {
for (let i in item) {
item[i] = defaultTypes[detectType(item[i])];
}
return item;
});
return arr;
}
console.log('Input data:');
console.log('----------');
console.log(data);
console.log('----------');
console.log('Output data:');
console.log('----------');
console.log(resetJSON(data));
1。目标最后一个索引:
var data = [{
id: 1,
name: 't1'
}, {
id: 2,
name: 't2'
}, {
id: 1,
name: 't3'
}];
data = data[data.length - 1];
console.log(data);
2。使用.reduce
var data = [{
id: 1,
name: 't1'
}, {
id: 2,
name: 't2'
}, {
id: 1,
name: 't3'
}].reduce((a, i) => i);
console.log(data);