程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了根据对象中的值将对象数组拆分为两个大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决根据对象中的值将对象数组拆分为两个?

开发过程中遇到根据对象中的值将对象数组拆分为两个的问题如何解决?下面主要结合日常开发的经验,给出你关于根据对象中的值将对象数组拆分为两个的解决方法建议,希望对你解决根据对象中的值将对象数组拆分为两个有所启发或帮助;

我一直在尝试(并努力)弄清楚如何根据键值对拆分对象数组

长话短说,我有一个火车正在停靠的车站列表,需要将车站之前的停靠点与车站未来的停靠点分开。

我正在处理的数据如下所示:

[{station_code: "SOC",station_name: "Southend Central" },{station_code: "WCF",station_name: "Westcliff On Sea" },{station_code: "CHW",station_name: "Chalkwell" },{station_code: "LES",station_name: "Leigh On Sea" },{station_code: "BEF",station_name: "Benfleet" },{station_code: "PSE",station_name: "Pitsea" },{station_code: "BSO",station_name: "Basildon" }]

我想有两个新的数组,它们被拆分,例如 Leigh On Sea.. 像这样:

上一站:

[{station_code: "SOC",station_name: "Chalkwell" }]

后续停靠点:

[{station_code: "BEF",station_name: "Basildon" }]

如果可能的话,它还有助于潜在地返回当前站(leigh on sea)以及一个包含对象的单独数组......

我遇到过这个,但是我想不出如何调整它以查看对象以找到站名:

const getAllAfter = (current) => {
    var myArr = new Array("Alpha","beta","gamma","delta");
    var i = myArr.indexOf(current);
    return i > -1 ? myArr.slice(0,i) : [];
};

提前致谢! :)

解决方法

使用Array.slice()找到分隔项的索引,然后使用const splitAt = (predicate,arr) => { const index = arr.findIndex(predicate); return [ arr.slice(0,index),arr[index],arr.slice(index + 1) ]; }; const data = [{"station_code":"SOC","station_name":"Southend Central"},{"station_code":"WCF","station_name":"Westcliff On Sea"},{"station_code":"CHW","station_name":"Chalkwell"},{"station_code":"LES","station_name":"Leigh On Sea"},{"station_code":"BEF","station_name":"Benfleet"},{"station_code":"PSE","station_name":"Pitsea"},{"station_code":"BSO","station_name":"Basildon"}]; const [before,separator,after] = splitAt(o => o.station_name === 'Leigh On Sea',data); console.log({ before,after });获取之前的数组,项和之后的数组。

Type

,

我有一个很草率的想法,所以我不知道您是否愿意接受,但是您的建议实际上与 JS 中的内置 CREATE FUNCTION sumOfTotalSickHours(letter CHAR(1)) RETURNS DOUBLE DETERMINISTIC BEGIN DECLARE total DOUBLE DEFAULT 0; SELECT SUM(sickleavehours) INTO total FROM employee where lastName LIKE CONCAT(letter,'%'); RETURN total; END 方法非常相似,但它适用于字符串,所以你可以拿你的数组,split它,然后在你想拆分它的任何一个停止,使该对象也成为一个字符串,然后使用你的字符串对象将它拆分成一个分隔字符串对象的数组.然后简单地从两个数组对象中删除开始和结束括号并将其解析回一个对象,瞧你实现了你想要的

示例:

JSON.stringify()

大佬总结

以上是大佬教程为你收集整理的根据对象中的值将对象数组拆分为两个全部内容,希望文章能够帮你解决根据对象中的值将对象数组拆分为两个所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: