js中将对象obj= {app_id: 'fdsfsd',name:'nnnn'}转为字符串‘?app_id=fdsfsd&name=nnnn’

时间: 2024-01-04 18:02:17 浏览: 32
可以使用 `Object.entries()` 方法将对象转换为键值对数组,然后使用 `map()` 方法将每个键值对转换为字符串,并使用 `join()` 方法将所有字符串连接起来,最终得到目标字符串。以下是示例代码: ```javascript const obj = {app_id: 'fdsfsd',name:'nnnn'}; const queryString = '?' + Object.entries(obj) .map(pair => pair.join('=')) .join('&'); console.log(queryString); // 输出:?app_id=fdsfsd&name=nnnn ``` 代码中,我们首先将 `obj` 转换为数组 `[ ['app_id', 'fdsfsd'], ['name', 'nnnn'] ]`,然后使用 `map()` 方法将每个数组转换为字符串,比如 `['app_id', 'fdsfsd']` 转换为 `'app_id=fdsfsd'`,最后使用 `join()` 方法将所有字符串连接起来,中间用 `&` 分隔,加上 `?`,就得到了目标字符串。
相关问题

var data = [ {id: 8, user_id: 1, title_name: '测试'}, {id: 7, user_id: 1, title_name: '测试3'}, {id: 8, user_id: 1, title_name: '测试'}, {id: 7, user_id: 1, title_name: '测试3'}, {id: 6, user_id: 1, title_name: '测试2'}, ];用jquery unique不能去除重复的数据

jQuery的$.unique()方法只能去除DOM元素数组中的重复元素,并不能用于普通的JavaScript对象数组。如果要去除普通的JavaScript对象数组中的重复元素,可以自己编写函数实现。以下是一种实现方式: ```javascript function uniqueArray(arr, key) { let result = []; let obj = {}; for (let i = 0; i < arr.length; i++) { if (!obj[arr[i][key]]) { result.push(arr[i]); obj[arr[i][key]] = true; } } return result; } let data = [ {id: 8, user_id: 1, title_name: '测试'}, {id: 7, user_id: 1, title_name: '测试3'}, {id: 8, user_id: 1, title_name: '测试'}, {id: 7, user_id: 1, title_name: '测试3'}, {id: 6, user_id: 1, title_name: '测试2'} ]; let uniqueData = uniqueArray(data, 'id'); console.log(uniqueData); ``` 这个函数接受两个参数,第一个参数是要去重的数组,第二个参数是要作为判断重复的关键字。在这个例子中,我们以对象的"id"属性作为关键字,去重后的结果为: ```javascript [ {id: 8, user_id: 1, title_name: '测试'}, {id: 7, user_id: 1, title_name: '测试3'}, {id: 6, user_id: 1, title_name: '测试2'} ] ```

HandlerInfo make_handler(void (_C::*fn)(const mavlink::mavlink_message_t*, _T &)) { auto bfn = std::bind(fn, static_cast<_C*>(this), std::placeholders::_1, std::placeholders::_2); const auto id = _T::MSG_ID; const auto name = _T::NAME; const auto type_hash_ = typeid(_T).hash_code(); return HandlerInfo { id, name, type_hash_, [bfn](const mavlink::mavlink_message_t *msg, const mavconn::Framing framing) { if (framing != mavconn::Framing::ok) return; mavlink::MsgMap map(msg); _T obj; obj.deserialize(map); bfn(msg, obj); } }; }

这是一个函数 make_handler,它接受一个指向类成员函数的指针 fn,并返回一个 HandlerInfo 对象。HandlerInfo 对象包含以下信息: - 消息 ID:_T::MSG_ID - 消息名称:_T::NAME - 类型哈希码:typeid(_T).hash_code() - 回调函数:一个 lambda 表达式,它将传入的 mavlink_message_t 和 mavconn::Framing 参数转换为 _T 对象,调用 fn 函数,并传入 mavlink_message_t 和 _T 对象作为参数。 该函数的实现使用了 std::bind 和 placeholders,将 fn 和 this 指针绑定到了一个新的函数对象 bfn 上,以便在 lambda 表达式中使用。lambda 表达式中先判断 mavconn::Framing 参数是否为 ok,如果不是则直接返回;否则将 mavlink_message_t 转换为 _T 对象,并调用 fn 函数处理。

相关推荐

逐行详细解释: void DstExistenceFusion::UpdateWithoutMeasurement(const std::string &sensor_id, double measurement_timestamp, double target_timestamp, double min_match_dist) { SensorObjectConstPtr camera_object = nullptr; if (common::SensorManager::Instance()->IsCamera(sensor_id)) { camera_object = track_ref_->GetSensorObject(sensor_id); UpdateToicWithoutCameraMeasurement(sensor_id, measurement_timestamp, min_match_dist); } SensorObjectConstPtr lidar_object = track_ref_->GetLatestLidarObject(); SensorObjectConstPtr camera_object_latest = track_ref_->GetLatestCameraObject(); SensorObjectConstPtr radar_object = track_ref_->GetLatestRadarObject(); if ((lidar_object != nullptr && lidar_object->GetSensorId() == sensor_id) || (camera_object_latest != nullptr && camera_object_latest->GetSensorId() == sensor_id) || (radar_object != nullptr && radar_object->GetSensorId() == sensor_id && lidar_object == nullptr && camera_object_latest == nullptr)) { Dst existence_evidence(fused_existence_.Name()); double unexist_factor = GetUnexistReliability(sensor_id); base::ObjectConstPtr obj = track_ref_->GetFusedObject()->GetBaseObject(); double dist_decay = ComputeDistDecay(obj, sensor_id, measurement_timestamp); double obj_unexist_prob = unexist_factor * dist_decay; existence_evidence.SetBba( {{ExistenceDstMaps::NEXIST, obj_unexist_prob}, {ExistenceDstMaps::EXISTUNKNOWN, 1 - obj_unexist_prob}}); // TODO(all) hard code for fused exist bba const double unexist_fused_w = 1.0; double min_match_dist_score = min_match_dist; // if (!sensor_manager->IsCamera(sensor_id)) { // min_match_dist_score = std::max(1 - min_match_dist / // options_.track_object_max_match_distance_, 0.0); // } ADEBUG << " before update exist prob: " << GetExistenceProbability() << " min_match_dist: " << min_match_dist << " min_match_dist_score: " << min_match_dist_score; fused_existence_ = fused_existence_ + existence_evidence * unexist_fused_w * (1 - min_match_dist_score); ADEBUG << " update without, EXIST prob: " << GetExistenceProbability() << " 1 - match_dist_score: " << 1 - min_match_dist_score << " sensor_id: " << sensor_id << " dist_decay: " << dist_decay << " track_id: " << track_ref_->GetTrackId(); } UpdateExistenceState(); }

最新推荐

recommend-type

谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

主要介绍了谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)以及JSON的parse()和stringfy()方法详解,感兴趣的朋友一起看看吧
recommend-type

还在用if(obj!=null)做非空判断,带你快速上手Optional

主要介绍了还在用if(obj!=null)做非空判断,带你快速上手Optional,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这
recommend-type

Windows 运行Python脚本

要在 Windows 上运行 Python 脚本,你需要先安装 Python。可以从官网下载 Python 安装包并按照提示进行安装。安装完成后,就可以在命令行中输入 `python` 命令,进入 Python 解释器环境。 接着,你可以编写 Python 脚本,保存为 `.py` 后缀的文件。在命令行中进入脚本所在的目录,输入 `python script.py` 命令来运行脚本。其中 `script.py` 是你的脚本文件名。 如果你想在 Windows 上运行一个 Python 程序,但不想打开命令行窗口,可以将脚本文件拖动到 Python 可执行文件 `python.exe` 上,