javascript - 控制或分割数组中字符串中 `:`前后的目标和值

标签 javascript arrays node.js

我创建了一个脚本,通过 Javascript 返回 CSS 中的重复行

//main.js
const fs = require('fs');
fs.readFile(process.argv[2], (err, data) =>  {
    if (err) throw err;
    let convertedFileToObject = Object;
    let spaceRemover = Object;
    let findDuplicates = Function;
    convertedFileToObject = data.toString().split('\n');
    spaceRemover = convertedFileToObject.map(post => post.replace('{', '').replace('}', '').replace('.', '').replace(';', '').replace('img', '').replace('span', '').replace('from', '').replace(/\s+/g, '')).filter(i => i);
    findDuplicates = (arr) => arr.filter((item, index) => arr.indexOf(item) != index);
    console.log(findDuplicates(spaceRemover).length > 0 ? findDuplicates(spaceRemover) : 'Congrats you don\'t have any duplicate')
});

CSS测试

/*app.css*/
.App-logo {
  height: 40vmin;
  display: flex;
  background-color: #282c34;
}

.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
}

在终端

$ node main.js app.css
[ 'background-color:#282c34', 'display:flex' ] // the result

如何控制:之前和:之后使其成为一个对象,以达到预期输出

$ node main.js app.css
[ {'background-color': '#282c34'}, {'display': 'flex'} ] // the expected

或删除之前的文本:

$ node main.js app.css
[ '#282c34', 'flex' ] // the another expected

有什么帮助吗?

最佳答案

过滤到 findDuplicates 数组后,您可以将其映射到对象列表中:

findDupObjects = findDuplicates.map((s) =>
{
    let keyVal = s.split(':')
    let key = keyVal[0]
    let value = keyVal[1]
    var obj = {}
    obj[key] = value
    return obj
}); // <= [ {background-color: '#282c34'}, {display: 'flex'} ]

关于javascript - 控制或分割数组中字符串中 `:`前后的目标和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53822450/

相关文章:

arrays - 如何在 mongoDB 中提取嵌入式文档中的特定元素

php - 将复选框数组分配给变量

node.js - Node fs 错误 : EPERM: operation not permitted, 打开

node.js - 如何检查用户是否有数据库查询权限?

javascript - 如何使用顶级等待将 TypeScript 编译为 JavaScript?

javascript - ridonkulous 大字体显示问题。 fontSize 打碎了所有的文字

mysql - json_unquote 和 extract 给出 null

javascript - Mongoose 方法返回未定义

javascript - 为什么序列对于矩阵转换很重要,例如同时旋转和平移变换

javascript - 更改颜色 InputLabel Material UI