如何移除数组中对象的键,仅保留值在原数组中?
提取数组对象属性值替换原元素的解决方法
你原来的代码用delete只是删掉了对象里的added属性,但数组里的元素还是那个空对象,所以得到的是[{}],不是想要的结果。要实现把数组里的对象换成它的added值,有这几种方法:
方法一:用map生成新数组(推荐)
map方法会遍历数组,返回一个新数组,每个元素是原元素经过处理后的值,不会修改原数组:
const language = [{added: "English"}]; const newLanguage = language.map(item => item.added); console.log(newLanguage); // 输出: ["English"]
方法二:直接修改原数组
如果一定要修改原数组本身,可以用普通for循环或者for...of遍历,把数组的每个元素替换成对应对象的added值:
普通for循环
const language = [{added: "English"}]; for (let i = 0; i < language.length; i++) { language[i] = language[i].added; } console.log(language); // 输出: ["English"]
for...of遍历
const language = [{added: "English"}]; let idx = 0; for (const item of language) { language[idx++] = item.added; } console.log(language); // 输出: ["English"]
简单来说,你需要的是替换数组里的元素,而不是修改元素(对象)的属性,所以不用delete,直接把元素换成属性值就行。
内容的提问来源于stack exchange,提问作者john_1
相关产品推荐
相关产品推荐

