// array-to-json.js const fs = require('fs'); let arr1 = require('./zh-CN') /** * 将数组转换为 { key: value } 格式的 JSON 对象 * @param {Array} array - 要转换的数组 * @returns {Object} 生成的 JSON 对象 */ function convertArrayToKeyValueJSON(array) { if (!Array.isArray(array)) { throw new Error('输入必须是数组类型'); } const result = {}; const seenKeys = new Set(); // 用于检测重复键 array.forEach((item, index) => { const key = String(item); // 强制转换为字符串键 if (seenKeys.has(key)) { console.warn(`⚠️ 警告: 键 "${key}" 在索引 ${index} 处重复,将被覆盖`); } seenKeys.add(key); result[key] = item; // 保留原始值类型 }); return result; } // 示例用法 const sampleArray = ['苹果', 123, true, null, '苹果']; try { // 执行转换 const jsonObject = convertArrayToKeyValueJSON(arr1); // 生成带格式化的 JSON 字符串 const jsonString = JSON.stringify(jsonObject, null, 2); // 输出到控制台 console.log('转换结果:'); console.log(jsonString); // 写入文件(可选) fs.writeFileSync('output1.json', jsonString); console.log('\n✅ 已保存到 output1.json'); } catch (error) { console.error('❌ 发生错误:', error.message); process.exit(1); }