gpt4 book ai didi

javascript - 是否可以在 JavaScript 中重写数组中的所有值而不使用 for 循环?

转载 作者:行者123 更新时间:2023-11-28 15:23:24 25 4
gpt4 key购买 nike

假设我们有一个包含如下数据的数组 (myArray):

0: myArray
content: 'something'
date: '15.5.2015'
name: 'Abc'
1: myArray
content: 'text'
date: '15.5.2015'
name: 'Bla'
2: etc ...

现在,为了重写此数组中一个对象属性的所有值(例如,空字符串)(例如:“content”),我将使用如下 for 循环:

for(var i = 0; i < myArray.length; i++){
myArray[i].content = '';
}

所以结果是:

0: myArray
content: ''
date: '15.5.2015'
name: 'Abc'
1: myArray
content: ''
date: '15.5.2015'
name: 'Bla'
2: etc ...

我的问题是:在 javascript 中不使用循环是否可以得到相同的结果?像这样的事情:

myArray[all].content.RewriteInto('');

寻求想法。

最佳答案

你所做的任何事情最终都会以某种方式循环。但是,不必循环...

因为我们现在有了函数式数组方法!您可能正在寻找mapreduce ,也许两者兼而有之,因为您想要转换(映射)每个元素和/或将它们组合成一个(减少)。

例如,我们可以获取您的数据并返回一个包含所有 content 字段的字符串,使用以下方法连接:

var data = [{
content: 'something',
date: '15.5.2015',
name: 'Abc'
}, {
content: 'text',
date: '15.5.2015',
name: 'Bla'
}];

var result = data.map(function(it) {
return it.content;
}).join(' ');

document.getElementById('r').textContent = JSON.stringify(result);
<pre id="r"></pre>

要从每个项目中删除 content 字段而不修改输入,您可以:

var data = [{
content: 'something',
date: '15.5.2015',
name: 'Abc'
}, {
content: 'text',
date: '15.5.2015',
name: 'Bla'
}];

var result = data.map(function(it) {
return {date: it.date, name: it.name};
});

document.getElementById('r').textContent = JSON.stringify(result);
<pre id="r"></pre>

关于javascript - 是否可以在 JavaScript 中重写数组中的所有值而不使用 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30262071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com